Re: [PATCH v7 01/31] iov_iter: Add ITER_XARRAY

Al Viro
2021-04-26T19:52:52Z

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@zeniv.linux.org.uk>

on the xarray-related bits (this patch + followups)