RE: [PATCH v3 0/6] exfat: unify FAT chain walking helpers

Sungjong Seo
2026-04-03T08:48:06Z

> This series introduces and uses two new helpers to simplify FAT chain
> walking logic across the exfat driver:
>
> 1. exfat_fat_walk - walks FAT chain by a given step, handling both
> ALLOC_NO_FAT_CHAIN and ALLOC_FAT_CHAIN modes
>
> 2. exfat_chain_advance - walks an exfat_chain structure by a given step,
> updating both ->dir and ->size fields atomically with proper boundary
> checking
>
> These helpers replace open-coded cluster walking logic in dir.c, namei.c
> and inode.c, improving code readability and ensuring consistent error
> handling for corrupted FAT chains.
>
> Also includes a fix for incorrect directory checksum when renaming a file
> to a shorter name.
>
> ---
>
> Changes in v3:
> - rework exfat_chain_advance
> - add error handling in exfat_find_location
> - misc tweaks

The patch-set looks good to me:
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>

Thanks.
>
> v1:https://lore.kernel.org/linux-fsdevel/20260331091113.20882-1-
> chizhiling@163.com/
> v2:https://lore.kernel.org/linux-fsdevel/20260401071138.114836-1-
> chizhiling@163.com/
>
>
> Chi Zhiling (6):
> exfat: fix incorrect directory checksum after rename to shorter name
> exfat: introduce exfat_cluster_walk helper
> exfat: use exfat_cluster_walk helper
> exfat: remove NULL cache pointer case in exfat_ent_get
> exfat: introduce exfat_chain_advance helper
> exfat: use exfat_chain_advance helper
>
> fs/exfat/dir.c | 119 +++++++++++---------------------------------
> fs/exfat/exfat_fs.h | 44 +++++++++++++++-
> fs/exfat/fatent.c | 23 ++++-----
> fs/exfat/inode.c | 11 +---
> fs/exfat/namei.c | 28 +++--------
> 5 files changed, 91 insertions(+), 134 deletions(-)
>
>
> base-commit: 4129a3a2751cba8511cee5d13145223662a8e019
> --
> 2.43.0