From: Christian Schoenebeck via Qemu-devel <qemu-devel@nongnu.org>
To: qemu-devel@nongnu.org
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
"Greg Kurz" <groug@kaod.org>,
"Antonios Motakis" <antonios.motakis@huawei.com>
Subject: [Qemu-devel] [PATCH v5 0/5] 9p: Fix file ID collisions
Date: Wed, 3 Jul 2019 13:44:32 +0200 [thread overview]
Message-ID: <cover.1562154272.git.qemu_oss@crudebyte.com> (raw)
This is v5 of a proposed patch set for fixing file ID collisions with 9pfs.
v4->v5:
All Patches:
* Added details to individual commit logs of what has been changed
exactly by me on top of Antonios' original 4 patches.
Patch 1:
* Fixed format specifiers in hw/9pfs/trace-events.
Patch 2:
* Fixed typo in commit log.
* Assign dev_id to export root's device already in
v9fs_device_realize_common(), not postponed in stat_to_qid().
* Return -ENODEV instead of -ENOSYS in stat_to_qid().
Patch 3:
* Added missing manual parts for new virtfs option 'remap_inodes' in
qemu-options.hx.
* Capture root_ino in v9fs_device_realize_common() as well, not just the
device id.
* Added function dirent_to_qid().
* Fixed v9fs_do_readdir() having exposed info outside export root with
'..' entry (no matter if inode remapping was on or not).
* Fixed v9fs_do_readdir() not having remapped inodes.
* Fixed definition of QPATH_INO_MASK.
* Log error message when running out of prefixes in qid_path_prefixmap().
* Adjusted changes in stat_to_qid() to qemu code style guidelines.
Patch 4:
* Log error message when running out of prefixes in qid_path_fullmap().
* Log error message about potential degraded performance in
qid_path_prefixmap() (that is when qid_path_fullmap() will start to
kick in next).
* Fixed typo in code comment.
Patch 5:
* Dropped fixed (16 bit) size prefix code and hence removed usage of
P9_VARI_LENGTH_INODE_SUFFIXES macro checks all over the place.
* Dropped function expGolombEncodeK0(uint64_t n) which was optimized for
the expected default value of k=0; instead always use the generalized
function expGolombEncode(uint64_t n, int k) instead now.
* Adjusted changes in hw/9pfs/9p.c to qemu code style guidelines.
* Adjusted functions' API comments in hw/9pfs/9p.c.
v3->v4:
* Rebased to latest git master head.
* Splitted Antonios' patch set to its original 4 individual patches.
(was merged previously as only 1 patch).
* Addressed discussed issues directly on Antonios' patches
(was a separate patch before).
* Added virtfs command line option "remap_inodes": Unless this option
is not enabled, no inode remapping is performed at all, the user
just gets an error message when trying to use more than 1 device
per export.
* Dropped persistency feature of QIDs beyond reboots.
* Dropped disputed "vii" feature.
Christian Schoenebeck (5):
9p: unsigned type for type, version, path
9p: Treat multiple devices on one export as an error
9p: Added virtfs option 'remap_inodes'
9p: stat_to_qid: implement slow path
9p: Use variable length suffixes for inode remapping
fsdev/9p-marshal.h | 6 +-
fsdev/file-op-9p.h | 1 +
fsdev/qemu-fsdev-opts.c | 7 +-
fsdev/qemu-fsdev.c | 6 +
hw/9pfs/9p.c | 508 +++++++++++++++++++++++++++++++++++++++++++++---
hw/9pfs/9p.h | 51 +++++
hw/9pfs/trace-events | 14 +-
qemu-options.hx | 25 ++-
vl.c | 3 +
9 files changed, 573 insertions(+), 48 deletions(-)
--
2.11.0
next reply other threads:[~2019-07-03 13:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-03 11:44 Christian Schoenebeck via Qemu-devel [this message]
2019-07-03 10:55 ` [Qemu-devel] [PATCH v5 1/5] 9p: unsigned type for type, version, path Christian Schoenebeck via Qemu-devel
2019-07-31 19:14 ` Greg Kurz
2019-07-03 11:01 ` [Qemu-devel] [PATCH v5 2/5] 9p: Treat multiple devices on one export as an error Christian Schoenebeck via Qemu-devel
2019-07-31 20:30 ` Greg Kurz
2019-07-03 11:13 ` [Qemu-devel] [PATCH v5 3/5] 9p: Added virtfs option 'remap_inodes' Christian Schoenebeck via Qemu-devel
2019-07-06 10:22 ` Christian Schoenebeck via Qemu-devel
2019-08-30 11:48 ` Greg Kurz
2019-09-01 19:35 ` Christian Schoenebeck via Qemu-devel
2019-07-03 11:17 ` [Qemu-devel] [PATCH v5 4/5] 9p: stat_to_qid: implement slow path Christian Schoenebeck via Qemu-devel
2019-07-03 11:27 ` [Qemu-devel] [PATCH v5 5/5] 9p: Use variable length suffixes for inode remapping Christian Schoenebeck via Qemu-devel
2019-07-03 15:46 ` [Qemu-devel] [PATCH v5 0/5] 9p: Fix file ID collisions no-reply
2019-07-03 16:04 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1562154272.git.qemu_oss@crudebyte.com \
--to=qemu-devel@nongnu.org \
--cc=antonios.motakis@huawei.com \
--cc=berrange@redhat.com \
--cc=groug@kaod.org \
--cc=qemu_oss@crudebyte.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.