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