mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-03 19:53:32 +00:00
exfat: move free cluster out of exfat_init_ext_entry()
exfat_init_ext_entry() is an init function, it's a bit strange to free cluster in it. And the argument 'inode' will be removed from exfat_init_ext_entry(). So this commit changes to free the cluster in exfat_remove_entries(). Code refinement, no functional changes. Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com> Reviewed-by: Andy Wu <Andy.Wu@sony.com> Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com> Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
ff4343da02
commit
4e1aa22fea
@ -564,9 +564,6 @@ int exfat_init_ext_entry(struct inode *inode, struct exfat_chain *p_dir,
|
||||
if (!ep)
|
||||
return -EIO;
|
||||
|
||||
if (exfat_get_entry_type(ep) & TYPE_BENIGN_SEC)
|
||||
exfat_free_benign_secondary_clusters(inode, ep);
|
||||
|
||||
exfat_init_name_entry(ep, uniname);
|
||||
exfat_update_bh(bh, sync);
|
||||
brelse(bh);
|
||||
|
@ -1082,12 +1082,13 @@ static int exfat_rename_file(struct inode *inode, struct exfat_chain *p_dir,
|
||||
epold->dentry.file.attr |= cpu_to_le16(EXFAT_ATTR_ARCHIVE);
|
||||
ei->attr |= EXFAT_ATTR_ARCHIVE;
|
||||
}
|
||||
|
||||
exfat_remove_entries(inode, &old_es, ES_IDX_FIRST_FILENAME + 1);
|
||||
|
||||
ret = exfat_init_ext_entry(inode, p_dir, oldentry,
|
||||
num_new_entries, p_uniname);
|
||||
if (ret)
|
||||
goto put_old_es;
|
||||
|
||||
exfat_remove_entries(inode, &old_es, num_new_entries);
|
||||
}
|
||||
return exfat_put_dentry_set(&old_es, sync);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user