mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
ext4: add missing brelse() for bh2 in ext4_dx_add_entry()
Add missing brelse() for bh2 in ext4_dx_add_entry().
Fixes: ac27a0ec11 ("[PATCH] ext4: initial copy of files from ext3")
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20250123162050.2114499-2-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
committed by
Theodore Ts'o
parent
fd3b3d7f51
commit
eb640af64d
@@ -2583,8 +2583,10 @@ again:
|
||||
BUFFER_TRACE(frame->bh, "get_write_access");
|
||||
err = ext4_journal_get_write_access(handle, sb, frame->bh,
|
||||
EXT4_JTR_NONE);
|
||||
if (err)
|
||||
if (err) {
|
||||
brelse(bh2);
|
||||
goto journal_error;
|
||||
}
|
||||
if (!add_level) {
|
||||
unsigned icount1 = icount/2, icount2 = icount - icount1;
|
||||
unsigned hash2 = dx_get_hash(entries + icount1);
|
||||
@@ -2595,8 +2597,10 @@ again:
|
||||
err = ext4_journal_get_write_access(handle, sb,
|
||||
(frame - 1)->bh,
|
||||
EXT4_JTR_NONE);
|
||||
if (err)
|
||||
if (err) {
|
||||
brelse(bh2);
|
||||
goto journal_error;
|
||||
}
|
||||
|
||||
memcpy((char *) entries2, (char *) (entries + icount1),
|
||||
icount2 * sizeof(struct dx_entry));
|
||||
@@ -2615,8 +2619,10 @@ again:
|
||||
dxtrace(dx_show_index("node",
|
||||
((struct dx_node *) bh2->b_data)->entries));
|
||||
err = ext4_handle_dirty_dx_node(handle, dir, bh2);
|
||||
if (err)
|
||||
if (err) {
|
||||
brelse(bh2);
|
||||
goto journal_error;
|
||||
}
|
||||
brelse (bh2);
|
||||
err = ext4_handle_dirty_dx_node(handle, dir,
|
||||
(frame - 1)->bh);
|
||||
@@ -2641,8 +2647,10 @@ again:
|
||||
"Creating %d level index...\n",
|
||||
dxroot->info.indirect_levels));
|
||||
err = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
|
||||
if (err)
|
||||
if (err) {
|
||||
brelse(bh2);
|
||||
goto journal_error;
|
||||
}
|
||||
err = ext4_handle_dirty_dx_node(handle, dir, bh2);
|
||||
brelse(bh2);
|
||||
restart = 1;
|
||||
|
||||
Reference in New Issue
Block a user