看板 DFBSD_bugs 關於我們 聯絡資訊
:Hello : :I got this new ext2-related panic today: : :panic: assertion: cnp->cn_flags & CNP_PDIRUNLOCK in relookup : :To reproduce it: (/mnt/ext2 is an ext2fs mount point) : :cd /mnt/ext2fs :mkdir -p foo/bar :mv foo/bar . (or cd foo; mv bar ..) : :i.e., trying to move a directory up one level. : :The kernel dumps are at : :http://leaf.dragonflybsd.org/~andre/kernel.3.bz2 :http://leaf.dragonflybsd.org/~andre/vmcore.3.bz2 : :Regards, :Andre Try this patch. It's the same problem that Kyle was having with msdosfs. (The issue here is that the old FreeBSD code was not properly tracking the CNP_PDIRUNLOCK flag in the particular code path in question. The panics started occuring when I added an assertion to ensure that the flag is in the proper state. So in that sense it is a 'good' panic in that it is catching a situation where a CNP flag is not being properly adjusted for side effects). -Matt Matthew Dillon <dillon@backplane.com> Index: ext2_vnops.c =================================================================== RCS file: /cvs/src/sys/vfs/gnu/ext2fs/ext2_vnops.c,v retrieving revision 1.17 diff -u -r1.17 ext2_vnops.c --- ext2_vnops.c 12 Nov 2004 00:09:30 -0000 1.17 +++ ext2_vnops.c 21 Dec 2004 23:45:31 -0000 @@ -507,6 +507,7 @@ */ vref(tdvp); error = ext2_checkpath(ip, dp, tcnp->cn_cred); + tcnp->cn_flags |= CNP_PDIRUNLOCK; if (error) { vrele(tdvp); goto out;