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.
Patch 4 is a preparatory (pure) refactoring change to make patch 5 better readable. All the other patches are just additional test cases for guarding 'Twalk' behaviour. v2 -> v3: * Use 'any_err |= err = ...' at all occurrences to make v9fs_walk() function less error prone, which also reduces lines of code. [patch 5] 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 | 191 ++++++++++++++++++++++++++++++++++- 2 files changed, 221 insertions(+), 27 deletions(-) -- 2.30.2