@@ -2432,15 +2432,13 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
goto journal_error;
}
}
- if (!restart) {
- de = do_split(handle, dir, &bh, frame, &fname->hinfo);
- if (IS_ERR(de)) {
- err = PTR_ERR(de);
- goto cleanup;
- }
- err = add_dirent_to_buf(handle, fname, dir, inode, de, bh);
+ de = do_split(handle, dir, &bh, frame, &fname->hinfo);
+ if (IS_ERR(de)) {
+ err = PTR_ERR(de);
goto cleanup;
}
+ err = add_dirent_to_buf(handle, fname, dir, inode, de, bh);
+ goto cleanup;
journal_error:
ext4_std_error(dir->i_sb, err); /* this is a no-op if err == 0 */
This reverts commit d94ce655c62e06461879548962bd3e4000190c97. Already fixed by commit 93ad4c3f59c6 ("ext4: fix potential htree corruption when growing large_dir directories") BugLink: https://bugs.launchpad.net/bugs/1941798 Signed-off-by: Danilo Krummrich <danilokrummrich@dk-develop.de> --- fs/ext4/namei.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)