summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorkensmith <kensmith@FreeBSD.org>2004-05-21 12:05:48 +0000
committerkensmith <kensmith@FreeBSD.org>2004-05-21 12:05:48 +0000
commit827f9222d6beb5494a0fd38ff7b3d4c11d9003aa (patch)
treedfcab3ff66121eb2aab2496eae7d9718a476eb10 /sys/ufs
parente857548ec4c6b655627000d372b221c95e4eb8f9 (diff)
downloadFreeBSD-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.c2
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;
OpenPOWER on IntegriCloud