Re: [RFC PATCH 0/7] Enable exfat_get_block to support obtaining multiple clusters
From: Namjae Jeon
Date: Thu Nov 20 2025 - 20:17:47 EST
On Tue, Nov 18, 2025 at 5:26 PM Chi Zhiling <chizhiling@xxxxxxx> wrote:
>
> From: Chi Zhiling <chizhiling@xxxxxxxxxx>
Hi Chi,
>
> The purpose of this patchset is to prepare for adapting exfat to iomap
> in the future. Currently, the main issue preventing exfat from supporting
> iomap is its inability to fetch multiple contiguous clusters.
Do you have a plan to work iomap support for exfat ?
>
> However, this patchset does not directly modify exfat_map_cluster and
> exfat_get_cluster to support multi-clusters. Instead, after obtaining
> the first cluster, it uses exfat_count_contig_clusters to retrieve the
> subsequent contiguous clusters.
>
> This approach is the one with the fewest changes among all the solutions
> I have attempted, making the modifications easier to review.
>
> This patchset includes two main changes: one reduces the number of sb_bread
> calls when accessing adjacent clusters to save time, and the other enables
> fetching multiple contiguous entries in exfat_get_blocks.
Are there any performance improvement measurements when applying this patch-set?
Thanks.
>
> Chi Zhiling (7):
> exfat: add cache option for __exfat_ent_get
> exfat: support reuse buffer head for exfat_ent_get
> exfat: reuse cache to improve exfat_get_cluster
> exfat: improve exfat_count_num_clusters
> exfat: improve exfat_find_last_cluster
> exfat: introduce exfat_count_contig_clusters
> exfat: get mutil-clusters in exfat_get_block
>
> fs/exfat/cache.c | 11 ++++--
> fs/exfat/exfat_fs.h | 6 ++-
> fs/exfat/fatent.c | 90 ++++++++++++++++++++++++++++++++++++---------
> fs/exfat/inode.c | 14 ++++++-
> 4 files changed, 97 insertions(+), 24 deletions(-)
>
> --
> 2.43.0
>