From: Greg Kurz <groug@kaod.org>
To: Christian Schoenebeck <qemu_oss@crudebyte.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH] 9pfs: fix inode sequencing in 'synth' driver
Date: Wed, 16 Mar 2022 12:10:43 +0100 [thread overview]
Message-ID: <20220316121043.1de4f0a1@bahia> (raw)
In-Reply-To: <E1nTpyU-0000yR-9o@lizzy.crudebyte.com>
On Mon, 14 Mar 2022 19:58:11 +0100
Christian Schoenebeck <qemu_oss@crudebyte.com> wrote:
> The 'synth' driver's root node and the 'synth' driver's first
> subdirectory node falsely share the same inode number (zero), which
> makes it impossible for 9p clients (i.e. 9p test cases) to distinguish
> root node and first subdirectory from each other by comparing their QIDs
> (which are derived by 9p server from driver's inode numbers).
>
> Fix this issue by using prefix-increment instead of postfix-increment
> operator while generating new inode numbers for subdirectories and files.
>
> Link: https://lore.kernel.org/qemu-devel/3859307.hTDP4D0zbi@silver/
> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> ---
Good catch !
Reviewed-by: Greg Kurz <groug@kaod.org>
> hw/9pfs/9p-synth.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c
> index b3080e415b..f3c73d3b0b 100644
> --- a/hw/9pfs/9p-synth.c
> +++ b/hw/9pfs/9p-synth.c
> @@ -92,7 +92,7 @@ int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
> }
> }
> /* Add the name */
> - node = v9fs_add_dir_node(parent, mode, name, NULL, synth_node_count++);
> + node = v9fs_add_dir_node(parent, mode, name, NULL, ++synth_node_count);
> v9fs_add_dir_node(node, parent->attr->mode, "..",
> parent->attr, parent->attr->inode);
> v9fs_add_dir_node(node, node->attr->mode, ".",
> @@ -130,7 +130,7 @@ int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
> mode = ((mode & 0777) | S_IFREG);
> node = g_malloc0(sizeof(V9fsSynthNode));
> node->attr = &node->actual_attr;
> - node->attr->inode = synth_node_count++;
> + node->attr->inode = ++synth_node_count;
> node->attr->nlink = 1;
> node->attr->read = read;
> node->attr->write = write;
next prev parent reply other threads:[~2022-03-16 11:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-14 18:58 [PATCH] 9pfs: fix inode sequencing in 'synth' driver Christian Schoenebeck
2022-03-16 11:10 ` Greg Kurz [this message]
2022-03-16 18:16 ` Christian Schoenebeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220316121043.1de4f0a1@bahia \
--to=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu_oss@crudebyte.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).