don't do any flush-behind for async mounts.
this matches the traditional behaviour.
This commit is contained in:
parent
0cfedcb2eb
commit
8b8f98cdbe
@ -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 @@ WRITE(void *v)
|
||||
int ubc_alloc_flags;
|
||||
void *win;
|
||||
vsize_t bytelen;
|
||||
boolean_t async;
|
||||
boolean_t usepc = FALSE;
|
||||
|
||||
cred = ap->a_cred;
|
||||
@ -260,6 +261,7 @@ WRITE(void *v)
|
||||
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 @@ WRITE(void *v)
|
||||
* 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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user