mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH v1 8/9] exfat: support multi-cluster for exfat_map_cluster
@ 2025-12-30  9:06 Yuezhang.Mo
  2025-12-31  1:51 ` Chi Zhiling
  0 siblings, 1 reply; 3+ messages in thread
From: Yuezhang.Mo @ 2025-12-30  9:06 UTC (permalink / raw)
  To: chizhiling
  Cc: brauner, chizhiling, jack, linkinjeon, linux-fsdevel,
	linux-kernel, sj1557.seo, viro, willy

> @@ -293,12 +298,14 @@ static int exfat_get_block(struct inode *inode, sector_t iblock,
> 
>  	if (cluster == EXFAT_EOF_CLUSTER)
>  		goto done;
> +	if (WARN_ON_ONCE(!count))
> +		count = 1;

The count is 0 only if cluster is EXFAT_EOF_CLUSTER.
So this warning never occur, right? If yes, please remove it.

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH v1 0/9] Enable exfat_get_block to support obtaining multiple clusters
@ 2025-12-26  9:44 Chi Zhiling
  2025-12-26  9:44 ` [PATCH v1 8/9] exfat: support multi-cluster for exfat_map_cluster Chi Zhiling
  0 siblings, 1 reply; 3+ messages in thread
From: Chi Zhiling @ 2025-12-26  9:44 UTC (permalink / raw)
  To: linux-fsdevel, linux-kernel
  Cc: Namjae Jeon, Sungjong Seo, Yuezhang Mo, Alexander Viro,
	Christian Brauner, Jan Kara, Matthew Wilcox, Chi Zhiling

From: Chi Zhiling <chizhiling@kylinos.cn>

This patch series significantly improves exFAT read performance
by adding multi-cluster mapping support.
The changes reduce get_block calls during sequential reads,
particularly benefiting small cluster sizes.

- Extends exfat_get_cluster() and exfat_map_cluster() to handle multiple contiguous clusters
- Adds buffer head caching for FAT table reads

Performance results show ~10% improvement for 512-byte clusters (454->511 MB/s)
and reduced get_block overhead from 10.8% to 0.02% for NO_FAT_CHAIN files.

All criticism and suggestions are welcome :)

Chi Zhiling (9):
  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: remove unused parameters from exfat_get_cluster
  exfat: tweak exfat_cache_lookup to support zero offset cluster
  exfat: support multi-cluster for exfat_map_cluster
  exfat: support multi-cluster for exfat_get_cluster

 fs/exfat/cache.c    | 108 ++++++++++++++++++++++++++++----------------
 fs/exfat/exfat_fs.h |   7 ++-
 fs/exfat/fatent.c   |  61 ++++++++++++++++---------
 fs/exfat/inode.c    |  46 +++++++++++--------
 4 files changed, 137 insertions(+), 85 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-12-31  1:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-30  9:06 [PATCH v1 8/9] exfat: support multi-cluster for exfat_map_cluster Yuezhang.Mo
2025-12-31  1:51 ` Chi Zhiling
  -- strict thread matches above, loose matches on Subject: below --
2025-12-26  9:44 [PATCH v1 0/9] Enable exfat_get_block to support obtaining multiple clusters Chi Zhiling
2025-12-26  9:44 ` [PATCH v1 8/9] exfat: support multi-cluster for exfat_map_cluster Chi Zhiling

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®