Honour mpsafe_vfs=0 in softdep_flush. This is basically a MFC of revision

1.206, except that Giant remains unconditionally acquired in the #ifdef
QUOTA case here (as QUOTA-enabled UFS on RELENG_6 is not MPSAFE).

Reviewed by:	kib
This commit is contained in:
emaste 2008-03-14 15:25:44 +00:00
parent a1f09e03eb
commit 977c485418

View File

@ -728,6 +728,8 @@ softdep_flush(void)
kthread_suspend_check(softdepproc);
#ifdef QUOTA
mtx_lock(&Giant);
#else
vfslocked = VFS_LOCK_GIANT((struct mount *)NULL);
#endif
ACQUIRE_LOCK(&lk);
/*
@ -746,6 +748,8 @@ softdep_flush(void)
FREE_LOCK(&lk);
#ifdef QUOTA
mtx_unlock(&Giant);
#else
VFS_UNLOCK_GIANT(vfslocked);
#endif
remaining = 0;
mtx_lock(&mountlist_mtx);