diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index ebbc663d07985038ef17520fb41c5fae0e5d3637..ff0968b98eb1bb0db0b31b4a1a7ed193d1bf3667 100644 --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -1124,8 +1124,10 @@ static void update_backups(struct super_block *sb, sector_t blk_off, char *data, backup_block, backup_block - ext4_group_first_block_no(sb, group)); BUFFER_TRACE(bh, "get_write_access"); - if ((err = ext4_journal_get_write_access(handle, bh))) + if ((err = ext4_journal_get_write_access(handle, bh))) { + brelse(bh); break; + } lock_buffer(bh); memcpy(bh->b_data, data, size); if (rest)