From d7127837a2096e66d5eb4ddff1d21493ca82ed96 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Thu, 13 Jan 2000 20:03:22 +0000 Subject: [PATCH] Confirming Peter's fix (locking 101: release the lock before you go to sleep). Locking 101, part 2: do not look at buffer contents after you have been asleep. There is no telling what wonderous changes may have occurred. --- sys/contrib/softupdates/ffs_softdep.c | 2 -- sys/ufs/ffs/ffs_softdep.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/contrib/softupdates/ffs_softdep.c b/sys/contrib/softupdates/ffs_softdep.c index c4cd06d8e1f..b0e7d04a6a0 100644 --- a/sys/contrib/softupdates/ffs_softdep.c +++ b/sys/contrib/softupdates/ffs_softdep.c @@ -4566,8 +4566,6 @@ getdirtybuf(bpp, waitfor) FREE_LOCK_INTERLOCKED(&lk); tsleep(&bp->b_xflags, PRIBIO, "getbuf", 0); ACQUIRE_LOCK_INTERLOCKED(&lk); - if (bp->b_xflags & BX_BKGRDINPROG) - panic("getdirtybuf: still writing"); continue; } if (waitfor != MNT_WAIT) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index c4cd06d8e1f..b0e7d04a6a0 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -4566,8 +4566,6 @@ getdirtybuf(bpp, waitfor) FREE_LOCK_INTERLOCKED(&lk); tsleep(&bp->b_xflags, PRIBIO, "getbuf", 0); ACQUIRE_LOCK_INTERLOCKED(&lk); - if (bp->b_xflags & BX_BKGRDINPROG) - panic("getdirtybuf: still writing"); continue; } if (waitfor != MNT_WAIT)