From 2eedeb7e60433fa60df0d0edea55b659455b7b89 Mon Sep 17 00:00:00 2001 From: Jeff Roberson Date: Sun, 12 Mar 2006 05:24:14 +0000 Subject: [PATCH] - Remove the call to softdep_waitidle after suspending the filesystem. This does not do what I wanted as all dirty buffers must be flushed by the call to ffs_sync and any remaining dependency work would mean that this failed. Pointed out by: tegge --- sys/ufs/ffs/ffs_softdep.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 53853cc39c4..bb0b9e190c7 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -720,6 +720,7 @@ softdep_flush(void) struct mount *mp; struct thread *td; int remaining; + int vfslocked; td = curthread; td->td_pflags |= TDP_NORUNNINGBUF; @@ -749,8 +750,10 @@ softdep_flush(void) continue; if (vfs_busy(mp, LK_NOWAIT, &mountlist_mtx, td)) continue; + vfslocked = VFS_LOCK_GIANT(mp); softdep_process_worklist(mp, 0); remaining += VFSTOUFS(mp)->softdep_on_worklist; + VFS_UNLOCK_GIANT(vfslocked); mtx_lock(&mountlist_mtx); nmp = TAILQ_NEXT(mp, mnt_list); vfs_unbusy(mp, td); -- 2.45.2