diff mbox series

9pfs: disable msize warning for synth driver

Message ID E1kEyDy-0006nN-5A@lizzy.crudebyte.com
State New
Headers show
Series 9pfs: disable msize warning for synth driver | expand

Commit Message

Christian Schoenebeck Sept. 6, 2020, 4:50 p.m. UTC
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 <qemu_oss@crudebyte.com>
---
 fsdev/file-op-9p.h | 4 ++++
 hw/9pfs/9p-synth.c | 2 ++
 hw/9pfs/9p.c       | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

Comments

Greg Kurz Sept. 7, 2020, 9:57 a.m. UTC | #1
On Sun, 6 Sep 2020 18:50:32 +0200
Christian Schoenebeck <qemu_oss@crudebyte.com> wrote:

> 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 <qemu_oss@crudebyte.com>
> ---

Heh, yes I guess it makes sense :)

I guess you could maybe queue this patch before the other one.

Reviewed-by: Greg Kurz <groug@kaod.org>

>  fsdev/file-op-9p.h | 4 ++++
>  hw/9pfs/9p-synth.c | 2 ++
>  hw/9pfs/9p.c       | 2 +-
>  3 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h
> index f2f7772c86..d51cec2f3b 100644
> --- a/fsdev/file-op-9p.h
> +++ b/fsdev/file-op-9p.h
> @@ -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
>  
> diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c
> index 7eb210ffa8..cec8c0eefc 100644
> --- a/hw/9pfs/9p-synth.c
> +++ b/hw/9pfs/9p-synth.c
> @@ -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);
> diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
> index 99b6f24fd6..741d222c3f 100644
> --- a/hw/9pfs/9p.c
> +++ b/hw/9pfs/9p.c
> @@ -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 "
Christian Schoenebeck Sept. 8, 2020, 9:54 a.m. UTC | #2
On Dienstag, 8. September 2020 11:01:15 CEST Christian Schoenebeck wrote:
> The command to change a patch state is, e.g.:
> 
> 	pwclient update -s Queued 11759645
> 
> When I do that I get this error:
> 
> 	The update action requires authentication, but no username or password
> 	is configured
> 
> So looks like it would require somebody to create an account somewhere,
> wherever that is.
> 
> Best regards,
> Christian Schoenebeck

This is just a test email to set patch state by X-Patchwork-State header, as 
documented here:

https://patchwork.readthedocs.io/_/downloads/en/latest/pdf/

Best regards,
Christian Schoenebeck
diff mbox series

Patch

diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h
index f2f7772c86..d51cec2f3b 100644
--- a/fsdev/file-op-9p.h
+++ b/fsdev/file-op-9p.h
@@ -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
 
diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c
index 7eb210ffa8..cec8c0eefc 100644
--- a/hw/9pfs/9p-synth.c
+++ b/hw/9pfs/9p-synth.c
@@ -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);
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index 99b6f24fd6..741d222c3f 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -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 "