aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext4/balloc.c8
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;
446verify: 446verify:
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
475struct buffer_head * 479struct buffer_head *