[issue1126] panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volume

Matthew Dillon dillon at apollo.backplane.com
Mon Sep 8 15:08:19 PDT 2008


:Thomas Nikolajsen <thomas.nikolajsen at mail.dk> added the comment:
:
:Have also seen this panic when using local file system for /usr/obj
:
:Crash dump on leaf in crash/hammer/ask/*.12.
:(using GENERIC kernel)
:
:----------
:priority:  -> bug
:status: unread -> chatting

    Thomas, please try this patch and tell me if it works.

    This code path is very rarely run.   It will panic every
    time if it gets in there due to the incorrect assertion.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>

Index: hammer_io.c
===================================================================
RCS file: /cvs/src/sys/vfs/hammer/hammer_io.c,v
retrieving revision 1.54
diff -u -p -r1.54 hammer_io.c
--- hammer_io.c	29 Aug 2008 20:19:08 -0000	1.54
+++ hammer_io.c	8 Sep 2008 22:05:47 -0000
@@ -279,7 +279,7 @@ hammer_io_inval(hammer_volume_t volume, 
 		bundirty(bp);
 		iou->io.reclaim = 1;
 		iou->io.waitdep = 1;
-		KKASSERT(iou->io.lock.refs == 0);
+		KKASSERT(iou->io.lock.refs == 1);
 		hammer_rel_buffer(&iou->buffer, 0);
 		/*hammer_io_deallocate(bp);*/
 	} else {





More information about the Bugs mailing list