9pfs: fix inode sequencing in 'synth' driver
authorChristian Schoenebeck <qemu_oss@crudebyte.com>
Mon, 14 Mar 2022 18:58:11 +0000 (19:58 +0100)
committerChristian Schoenebeck <qemu_oss@crudebyte.com>
Sat, 30 Apr 2022 11:11:47 +0000 (13:11 +0200)
commit0009df31cb51cb2be681f4eebd58a9776d75a580
tree3bcbe880c24e525592b34b27cd7bf17b9edfb3aa
parent731340813fdb4cb8339edb8630e3f923b7d987ec
9pfs: fix inode sequencing in 'synth' driver

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>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <E1nTpyU-0000yR-9o@lizzy.crudebyte.com>
hw/9pfs/9p-synth.c