Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba9c0dc4 authored by Yuezhang Mo's avatar Yuezhang Mo Committed by Namjae Jeon
Browse files

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: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
parent bf6c668d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -471,7 +471,7 @@ int exfat_trim_fs(struct inode *inode, struct fstrim_range *range);

/* file.c */
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);

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0)
+3 −5
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ static int exfat_sanitize_mode(const struct exfat_sb_info *sbi,
}

/* 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 last_clu = EXFAT_FREE_CLUSTER;
@@ -120,7 +120,7 @@ int __exfat_truncate(struct inode *inode, loff_t new_size)

	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
		 * num_clusters = min(new, phys);
@@ -150,8 +150,6 @@ int __exfat_truncate(struct inode *inode, loff_t new_size)
		ei->start_clu = EXFAT_EOF_CLUSTER;
	}

	i_size_write(inode, new_size);

	if (ei->type == TYPE_FILE)
		ei->attr |= ATTR_ARCHIVE;

@@ -218,7 +216,7 @@ void exfat_truncate(struct inode *inode)
		goto write_size;
	}

	err = __exfat_truncate(inode, i_size_read(inode));
	err = __exfat_truncate(inode);
	if (err)
		goto write_size;

+1 −1
Original line number Diff line number Diff line
@@ -698,7 +698,7 @@ void exfat_evict_inode(struct inode *inode)
	if (!inode->i_nlink) {
		i_size_write(inode, 0);
		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);
	}