看板 DFBSD_commit 關於我們 聯絡資訊
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