vfs: check bh->b_blocknr only if BH_Mapped is set
Changes
1 files changed · +3 −3
| File | Status | Add | Del | Content |
|---|---|---|---|---|
| fs/buffer.c | modified | +3 | −3 | View file |
fs/buffer.c
View filediff --git a/fs/buffer.c b/fs/buffer.c
index f5f8b15..2963858 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -199,13 +199,13 @@ __find_get_block_slow(struct block_device *bdev, sector_t block)
head = page_buffers(page);
bh = head;
do {
- if (bh->b_blocknr == block) {
+ if (!buffer_mapped(bh))
+ all_mapped = 0;
+ else if (bh->b_blocknr == block) {
ret = bh;
get_bh(bh);
goto out_unlock;
}
- if (!buffer_mapped(bh))
- all_mapped = 0;
bh = bh->b_this_page;
} while (bh != head);