Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/ufs/ufs don't do any flush-behind for async mounts.



details:   https://anonhg.NetBSD.org/src/rev/ce42264a894d
branches:  trunk
changeset: 515711:ce42264a894d
user:      chs <chs%NetBSD.org@localhost>
date:      Wed Oct 03 05:02:46 2001 +0000

description:
don't do any flush-behind for async mounts.
this matches the traditional behaviour.

diffstat:

 sys/ufs/ufs/ufs_readwrite.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 51abbb16b547 -r ce42264a894d sys/ufs/ufs/ufs_readwrite.c
--- a/sys/ufs/ufs/ufs_readwrite.c       Wed Oct 03 04:28:41 2001 +0000
+++ b/sys/ufs/ufs/ufs_readwrite.c       Wed Oct 03 05:02:46 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ufs_readwrite.c,v 1.35 2001/09/30 02:50:35 chs Exp $   */
+/*     $NetBSD: ufs_readwrite.c,v 1.36 2001/10/03 05:02:46 chs Exp $   */
 
 /*-
  * Copyright (c) 1993
@@ -205,6 +205,7 @@
        int ubc_alloc_flags;
        void *win;
        vsize_t bytelen;
+       boolean_t async;
        boolean_t usepc = FALSE;
 
        cred = ap->a_cred;
@@ -260,6 +261,7 @@
                return (EFBIG);
        }
 
+       async = vp->v_mount->mnt_flag & MNT_ASYNC;
        resid = uio->uio_resid;
        osize = ip->i_ffs_size;
        bsize = fs->fs_bsize;
@@ -352,7 +354,7 @@
                 * XXXUBC simplistic async flushing.
                 */
 
-               if (oldoff >> 16 != uio->uio_offset >> 16) {
+               if (!async && oldoff >> 16 != uio->uio_offset >> 16) {
                        simple_lock(&vp->v_uobj.vmobjlock);
                        error = (vp->v_uobj.pgops->pgo_put)(&vp->v_uobj,
                            (oldoff >> 16) << 16, (uio->uio_offset >> 16) << 16,



Home | Main Index | Thread Index | Old Index