]> git.ipfire.org Git - thirdparty/linux.git/commit
exfat: support multi-cluster for exfat_map_cluster
authorChi Zhiling <chizhiling@kylinos.cn>
Wed, 14 Jan 2026 12:12:46 +0000 (20:12 +0800)
committerNamjae Jeon <linkinjeon@kernel.org>
Thu, 12 Feb 2026 12:21:50 +0000 (21:21 +0900)
commit256694b22d017edcc8a0ce82a8e40742b074d509
tree554acc22810a0518d99032f6f49c0d7655f0bc73
parent88a936b7a918e4f37296524d355505128c961d9c
exfat: support multi-cluster for exfat_map_cluster

This patch introduces a parameter 'count' to support fetching multiple
clusters in exfat_map_cluster. The returned 'count' indicates the number
of consecutive clusters, or 0 when the input cluster offset is past EOF.

And the 'count' is also an input parameter for the caller to specify the
required number of clusters.

Only NO_FAT_CHAIN files enable multi-cluster fetching in this patch.

After this patch, the time proportion of exfat_get_block has decreased,
The performance data is as follows:

Cluster size: 512 bytes
Sequential read of a 30GB NO_FAT_CHAIN file:
2.4GB/s -> 2.5 GB/s
proportion of exfat_get_block:
10.8% -> 0.02%

Signed-off-by: Chi Zhiling <chizhiling@kylinos.cn>
Reviewed-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
fs/exfat/inode.c