summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-04-16 03:31:26 +0000
committerpeter <peter@FreeBSD.org>1998-04-16 03:31:26 +0000
commita1bb161dc41b241b1164a5195a73947fd163f8ca (patch)
tree49316ffcf091753fb40a38f6323ae5e4da962368 /sys/kern/vfs_subr.c
parentbc5a6e9a9b4b5a83a26c8fd5b72d7f17c23c513d (diff)
downloadFreeBSD-src-a1bb161dc41b241b1164a5195a73947fd163f8ca.zip
FreeBSD-src-a1bb161dc41b241b1164a5195a73947fd163f8ca.tar.gz
When the softdep conversion took place, the periodic vfs_msync() from
update got lost. This is responsible for ensuring that dirty mmap() pages get periodically written to disk. Without it, long time mmap's might not have their dirty pages written out at all of the system crashes or isn't cleanly shut down. This could be nasty if you've got a long-running writing via mmap(), dirty pages used to get written to disk within 30 seconds or so.
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 8df970b..2950d85 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.148 1998/03/30 09:51:08 phk Exp $
+ * $Id: vfs_subr.c,v 1.149 1998/04/15 18:37:49 tegge Exp $
*/
/*
@@ -2744,6 +2744,7 @@ sync_fsync(ap)
}
asyncflag = mp->mnt_flag & MNT_ASYNC;
mp->mnt_flag &= ~MNT_ASYNC;
+ vfs_msync(mp, MNT_NOWAIT);
VFS_SYNC(mp, MNT_LAZY, ap->a_cred, p);
if (asyncflag)
mp->mnt_flag |= MNT_ASYNC;
OpenPOWER on IntegriCloud