diff options
author | kib <kib@FreeBSD.org> | 2016-08-23 07:55:32 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-08-23 07:55:32 +0000 |
commit | 69c00374f5e54f7261605bde1bcecd7946a30d7d (patch) | |
tree | e79e5069b33c697c6022d469772b8c10c1efc13a /sys/ufs | |
parent | 676dadf5d990b18804fb8f759fd37d64096786c5 (diff) | |
download | FreeBSD-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.c | 8 |
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; |