DragonFly commits List (threaded) for 2009-12
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: kernel - Fix recursive lockmgr lock panic when creating a hardlink
commit 1cd6569033ebea86452882fbb4a29a908568a3eb
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Fri Dec 4 14:32:48 2009 -0800
kernel - Fix recursive lockmgr lock panic when creating a hardlink
* HAMMER uses non-recursive vnode locks. Fix a case where attempting
to hardlink A to B where both already exist and point to the same
inode can result in a panic if B is not in the namecache.
HAMMER must temporarily lock the vnode it returns in the resolver
and kern_link() was already holding A locked. This all occurs
before kern_link() is able to check whether A and B are the same
so it can't be avoided.
Solve the problem by unlocking A while resolving B.
Reported-by: Goetz Isenmann <info@goetz-isenmann.de>
Summary of changes:
sys/kern/vfs_syscalls.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1cd6569033ebea86452882fbb4a29a908568a3eb
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]