summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 25272f7..4ae9980 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$");
#include <vm/vm.h>
#include "opt_ffs.h"
+#include "opt_quota.h"
#ifndef SOFTUPDATES
@@ -728,6 +729,9 @@ softdep_flush(void)
for (;;) {
kthread_suspend_check(softdepproc);
+#ifdef QUOTA
+ mtx_lock(&Giant);
+#endif
ACQUIRE_LOCK(&lk);
/*
* If requested, try removing inode or removal dependencies.
@@ -743,6 +747,9 @@ softdep_flush(void)
wakeup_one(&proc_waiting);
}
FREE_LOCK(&lk);
+#ifdef QUOTA
+ mtx_unlock(&Giant);
+#endif
remaining = 0;
mtx_lock(&mountlist_mtx);
for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) {
OpenPOWER on IntegriCloud