mbox series

[v3,0/7] 9pfs: fix 'Twalk' protocol violation

Message ID cover.1647163863.git.qemu_oss@crudebyte.com (mailing list archive)
Headers show
Series 9pfs: fix 'Twalk' protocol violation | expand

Message

Christian Schoenebeck March 13, 2022, 9:31 a.m. UTC
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(-)