Re: [PATCH 2/5] xfs: fix racy open zone caching
Damien Le Moal <[email protected]>
| Newsgroups | org.kernel.vger.linux-xfs |
|---|---|
| Organization | Western Digital Research |
| Message-ID | <[email protected]> |
On 2026/08/11 9:48, Christoph Hellwig wrote: > When testing on very fast storage devices, I've observed writers using > io_uring creating many open zones with just a few kiB written to it, > which then don't get used. I tracked this down to multiple io_uring > helper threads finding a full zone in i_private, and then going on to > select a one, with the final one winning the race and leaving it in > i_private. > > Fix this by dropping full zones from i_private as soon we find them, > checking cached for a cached zoned when a single writes needs a new zone, > and by keeping an existing cached zone in xfs_set_cached_zone when it > still has space available, dropping the newly found/allocated one > instead. This uses i_flags_lock as a low-level spinlock for short > hold times to avoid interactions with the ilock, which is used for > completions. > > Signed-off-by: Christoph Hellwig <[email protected]> Looks good to me. Reviewed-by: Damien Le Moal <[email protected]> -- Damien Le Moal Western Digital Research