diff options
author | pho <pho@FreeBSD.org> | 2010-11-27 20:27:07 +0000 |
---|---|---|
committer | pho <pho@FreeBSD.org> | 2010-11-27 20:27:07 +0000 |
commit | 287a38757f78eae6caeeb56110b3e90c81cf9cdd (patch) | |
tree | 0239df225333857cd5ba912cfdc395a696fe386a | |
parent | 1ddadd8390fabf31ae3c5d2ebbab4f31d4f175dd (diff) | |
download | FreeBSD-src-287a38757f78eae6caeeb56110b3e90c81cf9cdd.zip FreeBSD-src-287a38757f78eae6caeeb56110b3e90c81cf9cdd.tar.gz |
First step in fixing the handle_workitem_freeblocks panic.
In collaboration with: kib
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 9e347cf..8ed68c3 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -6024,11 +6024,12 @@ handle_complete_freeblocks(freeblks) vput(vp); } - KASSERT(freeblks->fb_chkcnt == 0 || - ((fs->fs_flags & FS_UNCLEAN) != 0 && (flags & LK_NOWAIT) == 0), - ("handle_workitem_freeblocks: inode %ju block count %jd\n", - (uintmax_t)freeblks->fb_previousinum, - (intmax_t)freeblks->fb_chkcnt)); + if (!(freeblks->fb_chkcnt == 0 || + ((fs->fs_flags & FS_UNCLEAN) != 0 && (flags & LK_NOWAIT) == 0))) + printf( + "handle_workitem_freeblocks: inode %ju block count %jd\n", + (uintmax_t)freeblks->fb_previousinum, + (intmax_t)freeblks->fb_chkcnt); ACQUIRE_LOCK(&lk); /* |