On Mon, Apr 26, 2021 at 08:23:31PM +0100, David Howells wrote: > I really need to defer this question to Willy, but as I understand it, > xas_retry() only restarts the current iteration. Referring to the comment on > xas_reset(): > > * Resets the error or walk state of the @xas so future walks of the > * array will start from the root. Use this if you have dropped the > * xarray lock and want to reuse the xa_state. > > I think that the walk returns to the bottom of the tree and whilst xarray > presents an interface that appears to be a contiguous array, it's actually a > tree internally - and 'root' is the root of the tree, not the head of the > array. > > Basically, I think it throws away its cached iteration state - which might > have been modified - and rewalks the tree to get back to the same index. >From RTFS(lib/xarray.c) that looks right. Nevermind the question, then... Anyway, Reviewed-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> on the xarray-related bits (this patch + followups)