Re: [PATCH] exfat: validate cached iomaps during buffered writes and writeback
From: Namjae Jeon
Date: Wed Jul 01 2026 - 08:02:40 EST
> diff --git a/fs/exfat/cache.c b/fs/exfat/cache.c
> index 7c8b4182f5de..71631bab182c 100644
> --- a/fs/exfat/cache.c
> +++ b/fs/exfat/cache.c
> @@ -228,9 +228,10 @@ static void __exfat_cache_inval_inode(struct inode *inode)
> exfat_cache_free(cache);
> }
> /* Update. The copy of caches before this id is discarded. */
> - ei->cache_valid_id++;
> - if (ei->cache_valid_id == EXFAT_CACHE_VALID)
> - ei->cache_valid_id++;
> + if (ei->cache_valid_id + 1 == EXFAT_CACHE_VALID)
> + ei->cache_valid_id = EXFAT_CACHE_VALID + 1;
> + else
> + ei->cache_valid_id = ei->cache_valid_id + 1;
This looks equivalent to the original one. What does this rewrite change?
> @@ -133,7 +134,7 @@ static int __exfat_iomap_begin(struct inode *inode, loff_t offset, loff_t length
> }
> }
>
> - iomap->flags |= IOMAP_F_MERGED;
Is dropping the IOMAP_F_MERGED flag intentional? If yes, Why ?
> + iomap->validity_cookie = ei->cache_valid_id;
Thanks.