On Mittwoch, 9. März 2022 18:12:17 CET Christian Schoenebeck wrote:
> The local variable 'name_idx' is used in two loops in function v9fs_walk().
> Let the first loop use its own variable 'nvalid' instead, which we will use
> in subsequent patches as the number of (requested) path components
> successfully retrieved/walked by background I/O thread.
>
> Signed-off-by: Christian Schoenebeck <[email protected]>
> ---
> hw/9pfs/9p.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
> index a6d6b3f835..6cdc566866 100644
> --- a/hw/9pfs/9p.c
> +++ b/hw/9pfs/9p.c
> @@ -1764,7 +1764,7 @@ static bool same_stat_id(const struct stat *a, const
> struct stat *b)
>
> static void coroutine_fn v9fs_walk(void *opaque)
> {
> - int name_idx;
> + int name_idx, nvalid;
Or rather renaming this nvalid -> nfetched?
> g_autofree V9fsQID *qids = NULL;
> int i, err = 0;
> V9fsPath dpath, path;
> @@ -1842,17 +1842,17 @@ static void coroutine_fn v9fs_walk(void *opaque)
> break;
> }
> stbuf = fidst;
> - for (name_idx = 0; name_idx < nwnames; name_idx++) {
> + for (nvalid = 0; nvalid < nwnames; nvalid++) {
> if (v9fs_request_cancelled(pdu)) {
> err = -EINTR;
> break;
> }
> if (!same_stat_id(&pdu->s->root_st, &stbuf) ||
> - strcmp("..", wnames[name_idx].data))
> + strcmp("..", wnames[nvalid].data))
> {
> err = s->ops->name_to_path(&s->ctx, &dpath,
> - wnames[name_idx].data,
> - &pathes[name_idx]);
> + wnames[nvalid].data,
> + &pathes[nvalid]);
> if (err < 0) {
> err = -errno;
> break;
> @@ -1861,13 +1861,13 @@ static void coroutine_fn v9fs_walk(void *opaque)
> err = -EINTR;
> break;
> }
> - err = s->ops->lstat(&s->ctx, &pathes[name_idx], &stbuf);
> + err = s->ops->lstat(&s->ctx, &pathes[nvalid], &stbuf);
> if (err < 0) {
> err = -errno;
> break;
> }
> - stbufs[name_idx] = stbuf;
> - v9fs_path_copy(&dpath, &pathes[name_idx]);
> + stbufs[nvalid] = stbuf;
> + v9fs_path_copy(&dpath, &pathes[nvalid]);
> }
> }
> });