diff options
author | kib <kib@FreeBSD.org> | 2015-09-05 08:48:24 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-09-05 08:48:24 +0000 |
commit | 4bfbbf8647f0d3441657cc97c83b430b4f97e7f4 (patch) | |
tree | 58cb5dd541832316f997f2431b5555ac9f74f684 /sys/ufs/ffs | |
parent | d013cff635dca5c5d55dea80a0e1d87ec9f8e5cd (diff) | |
download | FreeBSD-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/ffs')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 9 |
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; |