]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
exfat: remove count used cluster from exfat_statfs()
authorYuezhang Mo <Yuezhang.Mo@sony.com>
Wed, 19 Feb 2025 19:00:09 +0000 (13:00 -0600)
committerNamjae Jeon <linkinjeon@kernel.org>
Thu, 27 Mar 2025 12:18:02 +0000 (21:18 +0900)
The callback function statfs() is called only after the file
system is mounted. During the process of mounting the exFAT
file system, the number of used clusters has been counted, so
the condition "sbi->used_clusters == EXFAT_CLUSTERS_UNTRACKED"
is always false and should be deleted.

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
fs/exfat/exfat_fs.h
fs/exfat/super.c

index d30ce18a88b7a92102ac60f6a4876e5c7eee9d81..f8ead4d47ef05c01f732ffab16ae13458999cb01 100644 (file)
@@ -14,8 +14,6 @@
 
 #define EXFAT_ROOT_INO         1
 
-#define EXFAT_CLUSTERS_UNTRACKED (~0u)
-
 /*
  * exfat error flags
  */
index bd57844414aa6d3b2e874fb875f1679499b54a8c..8465033a6cf0c0f1026ae41f88841d391798dcfc 100644 (file)
@@ -67,15 +67,6 @@ static int exfat_statfs(struct dentry *dentry, struct kstatfs *buf)
        struct exfat_sb_info *sbi = EXFAT_SB(sb);
        unsigned long long id = huge_encode_dev(sb->s_bdev->bd_dev);
 
-       if (sbi->used_clusters == EXFAT_CLUSTERS_UNTRACKED) {
-               mutex_lock(&sbi->s_lock);
-               if (exfat_count_used_clusters(sb, &sbi->used_clusters)) {
-                       mutex_unlock(&sbi->s_lock);
-                       return -EIO;
-               }
-               mutex_unlock(&sbi->s_lock);
-       }
-
        buf->f_type = sb->s_magic;
        buf->f_bsize = sbi->cluster_size;
        buf->f_blocks = sbi->num_clusters - 2; /* clu 0 & 1 */
@@ -531,7 +522,6 @@ static int exfat_read_boot_sector(struct super_block *sb)
        sbi->vol_flags = le16_to_cpu(p_boot->vol_flags);
        sbi->vol_flags_persistent = sbi->vol_flags & (VOLUME_DIRTY | MEDIA_FAILURE);
        sbi->clu_srch_ptr = EXFAT_FIRST_CLUSTER;
-       sbi->used_clusters = EXFAT_CLUSTERS_UNTRACKED;
 
        /* check consistencies */
        if ((u64)sbi->num_FAT_sectors << p_boot->sect_size_bits <