Currently the implementation of 'Twalk' does not behave exactly as specified by the 9p2000 protocol specification. Actual fix is patch 5; see the description of that patch for details of what this overall fix and series is about.
PREREQUISITES ============= This series requires the following additional patch to work correctly: https://lore.kernel.org/qemu-devel/e1ntpyu-0000yr...@lizzy.crudebyte.com/ OVERVIEW OF PATCHES =================== Patch 4 is a preparatory (pure) refactoring change to make actual 'Twalk' fix patch 5 better readable. All the other patches are just additional test cases for guarding 'Twalk' behaviour. v3 -> v4: * QID returned by Twalk request in fs_walk_2nd_nonexistent() test should NOT be identical to root node's QID. [patch 7] * Fix actual 'fid unaffected' check in fs_walk_2nd_nonexistent() test by sending a subsequent 'Tgetattr' request. [patch 7] Christian Schoenebeck (7): tests/9pfs: walk to non-existent dir tests/9pfs: Twalk with nwname=0 tests/9pfs: compare QIDs in fs_walk_none() test 9pfs: refactor 'name_idx' -> 'nwalked' in v9fs_walk() 9pfs: fix 'Twalk' to only send error if no component walked tests/9pfs: guard recent 'Twalk' behaviour fix tests/9pfs: check fid being unaffected in fs_walk_2nd_nonexistent hw/9pfs/9p.c | 57 ++++++---- tests/qtest/virtio-9p-test.c | 201 ++++++++++++++++++++++++++++++++++- 2 files changed, 231 insertions(+), 27 deletions(-) -- 2.30.2