diff options
author | peter <peter@FreeBSD.org> | 1998-04-16 03:31:26 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1998-04-16 03:31:26 +0000 |
commit | a1bb161dc41b241b1164a5195a73947fd163f8ca (patch) | |
tree | 49316ffcf091753fb40a38f6323ae5e4da962368 /sys/kern/vfs_subr.c | |
parent | bc5a6e9a9b4b5a83a26c8fd5b72d7f17c23c513d (diff) | |
download | FreeBSD-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.c | 3 |
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; |