summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-08-23 07:32:12 +0000
committerkib <kib@FreeBSD.org>2016-08-23 07:32:12 +0000
commit22c063972196e381ed329a45bbadadf02adaa3f8 (patch)
tree80a4b84576120bc70b9a80e9d5924c38cb3cee8d /sys/ufs
parent80939eabfe188aa5ce1d91e8686b65f3ea2cdff6 (diff)
downloadFreeBSD-src-22c063972196e381ed329a45bbadadf02adaa3f8.zip
FreeBSD-src-22c063972196e381ed329a45bbadadf02adaa3f8.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