exfat: don't print error log in normal case
authorYuezhang Mo <Yuezhang.Mo@sony.com>
Thu, 9 Feb 2023 09:44:50 +0000 (17:44 +0800)
committerNamjae Jeon <linkinjeon@kernel.org>
Tue, 28 Feb 2023 11:01:36 +0000 (20:01 +0900)
When allocating a new cluster, exFAT first allocates from the
next cluster of the last cluster of the file. If the last cluster
of the file is the last cluster of the volume, allocate from the
first cluster. This is a normal case, but the following error log
will be printed. It makes users confused, so this commit removes
the error log.

[1960905.181545] exFAT-fs (sdb1): hint_cluster is invalid (262130)

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
fs/exfat/fatent.c

index 65a8c9f..c75c5a2 100644 (file)
@@ -344,8 +344,9 @@ int exfat_alloc_cluster(struct inode *inode, unsigned int num_alloc,
 
        /* check cluster validation */
        if (!is_valid_cluster(sbi, hint_clu)) {
-               exfat_err(sb, "hint_cluster is invalid (%u)",
-                       hint_clu);
+               if (hint_clu != sbi->num_clusters)
+                       exfat_err(sb, "hint_cluster is invalid (%u), rewind to the first cluster",
+                                       hint_clu);
                hint_clu = EXFAT_FIRST_CLUSTER;
                p_chain->flags = ALLOC_FAT_CHAIN;
        }