On Sat, Aug 24, 2024 at 05:40:06AM +0200, Christoph Hellwig wrote: > Hi all, > > when testing with very small rtgroups I've seen relatively frequent > failures in xfs/538 where an assert about the da block type triggers > that should be entirely impossible to trigger by the expected code > flow. > > It turns out for this two things had to come together: a bug in the > attr code to uses ENOSPC to signal a condition that is not related > to run out free blocks, but which can also be triggered when we > actually run out of free blocks, and a debug in the DEBUG only > xfs_bmap_exact_minlen_extent_alloc allocator trigger only by the > specific error injection used in this and a few other tests. > > This series tries to fix both issues and clean up the surrounding > code a bit to make it more obvious. > > Changes since v1: > - fix build for !DEBUG builds > - improve a comment > - fix a comment typo > > Diffstat; > xfs_attr.c | 178 ++++++++++++++++++++++---------------------------------- > xfs_attr_leaf.c | 40 ++++++------ > xfs_attr_leaf.h | 2 > xfs_bmap.c | 134 +++++++++++++----------------------------- > xfs_da_btree.c | 5 - > 5 files changed, 143 insertions(+), 216 deletions(-) Series looks good. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx