On Thu, 5 Sep 2019 12:42:01 +0200 Christian Schoenebeck <qemu_...@crudebyte.com> wrote:
> This is v7 of a proposed patch set for fixing file ID collisions with 9pfs. > So I did some changes in 1/3 and pushed everything to 9p-next. I'll do some more manual testing and issue a PR when I'm confident enough. It would be nice to have some sort of automated test for that in 'make check'. My first thought is to simulate a cross-device setup with the synth backend, because it might be difficult to do this on a real filesystem without requiring elevated privileges. > v6->v7: > > * Rebased to https://github.com/gkurz/qemu/commits/9p-next > (SHA1 7fc4c49e91). > > * Be pedantic and abort with error on wrong value for new command line > argument 'multidevs'. > > * Adjusted patches to qemu code style guidelines. > > * Fixed potential crash in qp_table_destroy() on error path. > > * Use dedicated hash table init functions (qpd_table_init(), > qpf_table_init(), qpp_table_init()): > https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg00144.html > > * Use warn_report_once() instead of error_report_once() for issues > interpreted merely as being warnings, not errors. > > * Simplified hash table destruction (due to simplified error path > introduced by SHA1 7fc4c49e91). > > * Dropped capturing root_ino for now: > https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg00146.html > > * Don't update proxy docs, since new command line argument 'multidevs' is > limited to the local backend for now. > > * Mention in docs that readdir() is currently not blocked by > 'multidevs=forbid'. > > * Rename qid_path_prefixmap() -> qid_path_suffixmap() in patch 3 > (due to the semantic change of that function by that patch). > > Christian Schoenebeck (3): > 9p: Added virtfs option 'multidevs=remap|forbid|warn' > 9p: stat_to_qid: implement slow path > 9p: Use variable length suffixes for inode remapping > > fsdev/file-op-9p.h | 5 + > fsdev/qemu-fsdev-opts.c | 7 +- > fsdev/qemu-fsdev.c | 17 ++ > hw/9pfs/9p.c | 456 ++++++++++++++++++++++++++++++++++++++-- > hw/9pfs/9p.h | 59 ++++++ > qemu-options.hx | 26 ++- > vl.c | 7 +- > 7 files changed, 552 insertions(+), 25 deletions(-) >