diff options
-rw-r--r-- | fs/ext4/balloc.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c index ddd715e42a5c..b430afe77f0c 100644 --- a/fs/ext4/balloc.c +++ b/fs/ext4/balloc.c | |||
@@ -445,7 +445,10 @@ ext4_read_block_bitmap_nowait(struct super_block *sb, ext4_group_t block_group) | |||
445 | return bh; | 445 | return bh; |
446 | verify: | 446 | verify: |
447 | ext4_validate_block_bitmap(sb, desc, block_group, bh); | 447 | ext4_validate_block_bitmap(sb, desc, block_group, bh); |
448 | return bh; | 448 | if (buffer_verified(bh)) |
449 | return bh; | ||
450 | put_bh(bh); | ||
451 | return NULL; | ||
449 | } | 452 | } |
450 | 453 | ||
451 | /* Returns 0 on success, 1 on error */ | 454 | /* Returns 0 on success, 1 on error */ |
@@ -469,7 +472,8 @@ int ext4_wait_block_bitmap(struct super_block *sb, ext4_group_t block_group, | |||
469 | clear_buffer_new(bh); | 472 | clear_buffer_new(bh); |
470 | /* Panic or remount fs read-only if block bitmap is invalid */ | 473 | /* Panic or remount fs read-only if block bitmap is invalid */ |
471 | ext4_validate_block_bitmap(sb, desc, block_group, bh); | 474 | ext4_validate_block_bitmap(sb, desc, block_group, bh); |
472 | return 0; | 475 | /* ...but check for error just in case errors=continue. */ |
476 | return !buffer_verified(bh); | ||
473 | } | 477 | } |
474 | 478 | ||
475 | struct buffer_head * | 479 | struct buffer_head * |