summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-08-23 07:55:32 +0000
committerkib <kib@FreeBSD.org>2016-08-23 07:55:32 +0000
commit69c00374f5e54f7261605bde1bcecd7946a30d7d (patch)
treee79e5069b33c697c6022d469772b8c10c1efc13a /sys/ufs
parent676dadf5d990b18804fb8f759fd37d64096786c5 (diff)
downloadFreeBSD-src-69c00374f5e54f7261605bde1bcecd7946a30d7d.zip
FreeBSD-src-69c00374f5e54f7261605bde1bcecd7946a30d7d.tar.gz
MFC r304232:
In UFS_BALLOC(), invalidate pages of indirect buffers on failed block allocation unwinding.
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_balloc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c
index 73fa051..04e0ae9 100644
--- a/sys/ufs/ffs/ffs_balloc.c
+++ b/sys/ufs/ffs/ffs_balloc.c
@@ -492,8 +492,8 @@ fail:
(intmax_t)bp->b_lblkno, (uintmax_t)*lbns_remfree,
(uintmax_t)bp->b_blkno,
(uintmax_t)fsbtodb(fs, *blkp)));
- bp->b_flags |= (B_INVAL | B_RELBUF);
- bp->b_flags &= ~B_ASYNC;
+ bp->b_flags |= B_INVAL | B_RELBUF | B_NOCACHE;
+ bp->b_flags &= ~(B_ASYNC | B_CACHE);
brelse(bp);
}
deallocated += fs->fs_bsize;
@@ -1087,8 +1087,8 @@ fail:
(intmax_t)bp->b_lblkno, (uintmax_t)*lbns_remfree,
(uintmax_t)bp->b_blkno,
(uintmax_t)fsbtodb(fs, *blkp)));
- bp->b_flags |= (B_INVAL | B_RELBUF);
- bp->b_flags &= ~B_ASYNC;
+ bp->b_flags |= B_INVAL | B_RELBUF | B_NOCACHE;
+ bp->b_flags &= ~(B_ASYNC | B_CACHE);
brelse(bp);
}
deallocated += fs->fs_bsize;
OpenPOWER on IntegriCloud