summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-09-05 08:48:24 +0000
committerkib <kib@FreeBSD.org>2015-09-05 08:48:24 +0000
commit4bfbbf8647f0d3441657cc97c83b430b4f97e7f4 (patch)
tree58cb5dd541832316f997f2431b5555ac9f74f684 /sys/ufs
parentd013cff635dca5c5d55dea80a0e1d87ec9f8e5cd (diff)
downloadFreeBSD-src-4bfbbf8647f0d3441657cc97c83b430b4f97e7f4.zip
FreeBSD-src-4bfbbf8647f0d3441657cc97c83b430b4f97e7f4.tar.gz
Declare the writes around the call to VFS_SYNC() in
softdep_ast_cleanup_proc(). Tested by: pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 831db1b..67509eb 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -13325,8 +13325,13 @@ softdep_ast_cleanup_proc(void)
if (softdep_excess_items(ump, D_NEWBLK) ||
softdep_excess_items(ump, D_ALLOCDIRECT) ||
softdep_excess_items(ump, D_ALLOCINDIR)) {
- req = true;
- VFS_SYNC(mp, MNT_WAIT);
+ error = vn_start_write(NULL, &mp, V_MNTREF |
+ V_WAIT);
+ if (error == 0) {
+ req = true;
+ VFS_SYNC(mp, MNT_WAIT);
+ vn_finished_write(mp);
+ }
}
if ((td->td_pflags & TDP_KTHREAD) != 0 || !req)
break;
OpenPOWER on IntegriCloud