diff options
author | kensmith <kensmith@FreeBSD.org> | 2004-05-21 12:05:48 +0000 |
---|---|---|
committer | kensmith <kensmith@FreeBSD.org> | 2004-05-21 12:05:48 +0000 |
commit | 827f9222d6beb5494a0fd38ff7b3d4c11d9003aa (patch) | |
tree | dfcab3ff66121eb2aab2496eae7d9718a476eb10 /sys/ufs | |
parent | e857548ec4c6b655627000d372b221c95e4eb8f9 (diff) | |
download | FreeBSD-src-827f9222d6beb5494a0fd38ff7b3d4c11d9003aa.zip FreeBSD-src-827f9222d6beb5494a0fd38ff7b3d4c11d9003aa.tar.gz |
Upon further review it was decided this piece of the msync(2)
fixes was applicable to HEAD, originally it was thought this
should only be done in RELENG_4. Implement IO_INVAL in the vnode
op for writing by marking the buffer as "no cache". This fix
has already been applied to RELENG_4 as Rev. 1.65.2.15 of
ufs/ufs/ufs_readwrite.c.
Reviewed by: alc, tegge
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 6a19439..3013ec5 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -662,6 +662,8 @@ ffs_write(ap) vfs_bio_clrbuf(bp); if (ioflag & IO_DIRECT) bp->b_flags |= B_DIRECT; + if ((ioflag & (IO_SYNC|IO_INVAL)) == (IO_SYNC|IO_INVAL)) + bp->b_flags |= B_NOCACHE; if (uio->uio_offset + xfersize > ip->i_size) { ip->i_size = uio->uio_offset + xfersize; |