mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-03 19:53:32 +00:00
exfat: code cleanup for exfat_readdir()
For the root directory and other directories, the clusters allocated to them can be obtained from exfat_inode_info, and there is no need to distinguish them. And there is no need to initialize atime/ctime/mtime/size in exfat_readdir(), because exfat_iterate() does not use them. Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com> Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com> Reviewed-by: Daniel Palmer <daniel.palmer@sony.com> Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
33a86666d3
commit
6b151eb5df
@ -82,11 +82,8 @@ static int exfat_readdir(struct inode *inode, loff_t *cpos, struct exfat_dir_ent
|
||||
if (ei->type != TYPE_DIR)
|
||||
return -EPERM;
|
||||
|
||||
if (ei->entry == -1)
|
||||
exfat_chain_set(&dir, sbi->root_dir, 0, ALLOC_FAT_CHAIN);
|
||||
else
|
||||
exfat_chain_set(&dir, ei->start_clu,
|
||||
EXFAT_B_TO_CLU(i_size_read(inode), sbi), ei->flags);
|
||||
exfat_chain_set(&dir, ei->start_clu,
|
||||
EXFAT_B_TO_CLU(i_size_read(inode), sbi), ei->flags);
|
||||
|
||||
dentries_per_clu = sbi->dentries_per_clu;
|
||||
max_dentries = (unsigned int)min_t(u64, MAX_EXFAT_DENTRIES,
|
||||
@ -135,21 +132,6 @@ static int exfat_readdir(struct inode *inode, loff_t *cpos, struct exfat_dir_ent
|
||||
|
||||
num_ext = ep->dentry.file.num_ext;
|
||||
dir_entry->attr = le16_to_cpu(ep->dentry.file.attr);
|
||||
exfat_get_entry_time(sbi, &dir_entry->crtime,
|
||||
ep->dentry.file.create_tz,
|
||||
ep->dentry.file.create_time,
|
||||
ep->dentry.file.create_date,
|
||||
ep->dentry.file.create_time_cs);
|
||||
exfat_get_entry_time(sbi, &dir_entry->mtime,
|
||||
ep->dentry.file.modify_tz,
|
||||
ep->dentry.file.modify_time,
|
||||
ep->dentry.file.modify_date,
|
||||
ep->dentry.file.modify_time_cs);
|
||||
exfat_get_entry_time(sbi, &dir_entry->atime,
|
||||
ep->dentry.file.access_tz,
|
||||
ep->dentry.file.access_time,
|
||||
ep->dentry.file.access_date,
|
||||
0);
|
||||
|
||||
*uni_name.name = 0x0;
|
||||
err = exfat_get_uniname_from_ext_entry(sb, &clu, i,
|
||||
@ -166,8 +148,6 @@ static int exfat_readdir(struct inode *inode, loff_t *cpos, struct exfat_dir_ent
|
||||
ep = exfat_get_dentry(sb, &clu, i + 1, &bh);
|
||||
if (!ep)
|
||||
return -EIO;
|
||||
dir_entry->size =
|
||||
le64_to_cpu(ep->dentry.stream.valid_size);
|
||||
dir_entry->entry = dentry;
|
||||
brelse(bh);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user