mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
exfat: remove i_size_write() from __exfat_truncate()
The file/directory size is updated into inode by i_size_write() before __exfat_truncate() is called, so it is redundant to re-update by i_size_write() in __exfat_truncate(). 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
e981917b3f
commit
f7cde96710
@ -448,7 +448,7 @@ int exfat_trim_fs(struct inode *inode, struct fstrim_range *range);
|
|||||||
|
|
||||||
/* file.c */
|
/* file.c */
|
||||||
extern const struct file_operations exfat_file_operations;
|
extern const struct file_operations exfat_file_operations;
|
||||||
int __exfat_truncate(struct inode *inode, loff_t new_size);
|
int __exfat_truncate(struct inode *inode);
|
||||||
void exfat_truncate(struct inode *inode);
|
void exfat_truncate(struct inode *inode);
|
||||||
int exfat_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
|
int exfat_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
|
||||||
struct iattr *attr);
|
struct iattr *attr);
|
||||||
|
@ -93,7 +93,7 @@ static int exfat_sanitize_mode(const struct exfat_sb_info *sbi,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* resize the file length */
|
/* resize the file length */
|
||||||
int __exfat_truncate(struct inode *inode, loff_t new_size)
|
int __exfat_truncate(struct inode *inode)
|
||||||
{
|
{
|
||||||
unsigned int num_clusters_new, num_clusters_phys;
|
unsigned int num_clusters_new, num_clusters_phys;
|
||||||
unsigned int last_clu = EXFAT_FREE_CLUSTER;
|
unsigned int last_clu = EXFAT_FREE_CLUSTER;
|
||||||
@ -113,7 +113,7 @@ int __exfat_truncate(struct inode *inode, loff_t new_size)
|
|||||||
|
|
||||||
exfat_chain_set(&clu, ei->start_clu, num_clusters_phys, ei->flags);
|
exfat_chain_set(&clu, ei->start_clu, num_clusters_phys, ei->flags);
|
||||||
|
|
||||||
if (new_size > 0) {
|
if (i_size_read(inode) > 0) {
|
||||||
/*
|
/*
|
||||||
* Truncate FAT chain num_clusters after the first cluster
|
* Truncate FAT chain num_clusters after the first cluster
|
||||||
* num_clusters = min(new, phys);
|
* num_clusters = min(new, phys);
|
||||||
@ -143,8 +143,6 @@ int __exfat_truncate(struct inode *inode, loff_t new_size)
|
|||||||
ei->start_clu = EXFAT_EOF_CLUSTER;
|
ei->start_clu = EXFAT_EOF_CLUSTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
i_size_write(inode, new_size);
|
|
||||||
|
|
||||||
if (ei->type == TYPE_FILE)
|
if (ei->type == TYPE_FILE)
|
||||||
ei->attr |= ATTR_ARCHIVE;
|
ei->attr |= ATTR_ARCHIVE;
|
||||||
|
|
||||||
@ -207,7 +205,7 @@ void exfat_truncate(struct inode *inode)
|
|||||||
goto write_size;
|
goto write_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = __exfat_truncate(inode, i_size_read(inode));
|
err = __exfat_truncate(inode);
|
||||||
if (err)
|
if (err)
|
||||||
goto write_size;
|
goto write_size;
|
||||||
|
|
||||||
|
@ -626,7 +626,7 @@ void exfat_evict_inode(struct inode *inode)
|
|||||||
if (!inode->i_nlink) {
|
if (!inode->i_nlink) {
|
||||||
i_size_write(inode, 0);
|
i_size_write(inode, 0);
|
||||||
mutex_lock(&EXFAT_SB(inode->i_sb)->s_lock);
|
mutex_lock(&EXFAT_SB(inode->i_sb)->s_lock);
|
||||||
__exfat_truncate(inode, 0);
|
__exfat_truncate(inode);
|
||||||
mutex_unlock(&EXFAT_SB(inode->i_sb)->s_lock);
|
mutex_unlock(&EXFAT_SB(inode->i_sb)->s_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user