On Mon, Apr 29, 2024 at 08:43:44AM -0700, Darrick J. Wong wrote: > Nit: This loop actually queues multiple intent items -- one BUI to > handle the unmap, one RUI if the rmapbt needs updating, one CUI to > decrement the old data fork extent's refcount, and one EFI if that was > the last ref to that space. So I guess 128 of these is small enough not > to overflow a tr_itruncate transaction... I've not actually had 128 hit by xfstests, to stress this patch I did reduce the number to 4. I played around with asserts a bit and I can reliably hit 64 items, but I haven't tried bisecting further. > before the xfs_defer_finish call, and with the same file block range as > was unmapped in this transaction. Indeed. That's going to be a big rework, so for now I'm just going to resend the reset of the series to get the fix and the cleanups in.