getblk(): panic: lockmgr: locking against myself
Bjoern Fischer
bfischer at Techfak.Uni-Bielefeld.DE
Sun Jan 25 06:38:46 PST 2004
Hello,
> This looks like a ufs2 snapshot bug when initializing more
> inodes in a cylinder group.
> bawrite for newly initialized inode block is called while the thread
> still owns the cylinder group block.
> The snapshot copy-on-write code tries to save the old (uninitialized)
> block and might need the cg block to do so => panic.
>
> Not saving the uninitialized inode block does not look like an
> option as inode access functions do not check the cg for cg_initediblk.
>
> The ugly patch below calls the bawrite for the inode block after
> it releases (bdwrites) the cg block and should prevent the panic.
is this issue resolved already? I just got a panic with latest -CURRENT
that looks exactly the same. The machine paniced while performing
background fsck on a very busy file system. If I can reproduce the
panic I will try your patch.
Bjoern
--
-----BEGIN GEEK CODE BLOCK-----
GCS d--(+) s++: a- C+++(-) UB++++OSI++++$ P+++(-) L---(++) !E W- N+ o>+
K- !w !O !M !V PS++ PE- PGP++ t+++ !5 X++ tv- b+++ D++ G e+ h-- y+
------END GEEK CODE BLOCK------
More information about the freebsd-current
mailing list