Skip to content

Commit

Permalink
9pfs: disable msize warning for synth driver
Browse files Browse the repository at this point in the history
Previous patch introduced a performance warning being logged on host
side if client connected with an 'msize' <= 8192. Disable this
performance warning for the synth driver to prevent that warning from
being printed whenever the 9pfs (qtest) test cases are running.

Introduce a new export flag V9FS_NO_PERF_WARN for that purpose, which
might also be used to disable such warnings from the CLI in future.

We could have also prevented the warning by simply raising P9_MAX_SIZE
in virtio-9p-test.c to any value larger than 8192, however in the
context of test cases it makes sense running for edge cases, which
includes the lowest 'msize' value supported by the server which is
4096, hence we want to preserve an msize of 4096 for the test client.

Signed-off-by: Christian Schoenebeck <[email protected]>
Reviewed-by: Greg Kurz <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Christian Schoenebeck <[email protected]>
  • Loading branch information
cschoenebeck committed Sep 15, 2020
1 parent 62777d8 commit c418f93
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
4 changes: 4 additions & 0 deletions fsdev/file-op-9p.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ typedef struct ExtendedOps {
*/
#define V9FS_REMAP_INODES 0x00000200
#define V9FS_FORBID_MULTIDEVS 0x00000400
/*
* Disables certain performance warnings from being logged on host side.
*/
#define V9FS_NO_PERF_WARN 0x00000800

#define V9FS_SEC_MASK 0x0000003C

Expand Down
2 changes: 2 additions & 0 deletions hw/9pfs/9p-synth.c
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,8 @@ static int synth_init(FsContext *ctx, Error **errp)
QLIST_INIT(&synth_root.child);
qemu_mutex_init(&synth_mutex);

ctx->export_flags |= V9FS_NO_PERF_WARN;

/* Add "." and ".." entries for root */
v9fs_add_dir_node(&synth_root, synth_root.attr->mode,
"..", synth_root.attr, synth_root.attr->inode);
Expand Down
2 changes: 1 addition & 1 deletion hw/9pfs/9p.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,7 +1354,7 @@ static void coroutine_fn v9fs_version(void *opaque)
}

/* 8192 is the default msize of Linux clients */
if (s->msize <= 8192) {
if (s->msize <= 8192 && !(s->ctx.export_flags & V9FS_NO_PERF_WARN)) {
warn_report_once(
"9p: degraded performance: a reasonable high msize should be "
"chosen on client/guest side (chosen msize is <= 8192). See "
Expand Down

0 comments on commit c418f93

Please sign in to comment.