qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V4] block/nfs: add support for setting debug lev


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH V4] block/nfs: add support for setting debug level
Date: Fri, 6 Nov 2015 11:23:39 +0000
User-agent: Mutt/1.5.23 (2015-06-09)

On Thu, Nov 05, 2015 at 11:25:34PM +0100, Peter Lieven wrote:
> recent libnfs versions support logging debug messages. Add
> support for it in qemu through an URL parameter.
> 
> Example:
>  qemu -cdrom nfs://127.0.0.1/iso/my.iso?debug=2
> ---
> v3->v4: revert to the initial version, but limit max debug level
> v2->v3: use a per-drive option instead of a global one. [Stefan]
> v1->v2: reworked patch to accept the debug level as a cmdline
>         parameter instead of an URI parameter [Stefan]
> 
>  block/nfs.c |   10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/block/nfs.c b/block/nfs.c
> index fd79f89..fbea25a 100644
> --- a/block/nfs.c
> +++ b/block/nfs.c
> @@ -36,6 +36,7 @@
>  #include <nfsc/libnfs.h>
>  
>  #define QEMU_NFS_MAX_READAHEAD_SIZE 1048576
> +#define QEMU_NFS_MAX_DEBUG_LEVEL 2
>  
>  typedef struct NFSClient {
>      struct nfs_context *context;
> @@ -334,6 +335,15 @@ static int64_t nfs_client_open(NFSClient *client, const 
> char *filename,
>              }
>              nfs_set_readahead(client->context, val);
>  #endif
> +#ifdef LIBNFS_FEATURE_DEBUG
> +        } else if (!strcmp(qp->p[i].name, "debug")) {
> +            if (val > QEMU_NFS_MAX_DEBUG_LEVEL) {
> +                error_report("NFS Warning: Limiting NFS debug level"
> +                             " to %d", QEMU_NFS_MAX_DEBUG_LEVEL);
> +                val = QEMU_NFS_MAX_DEBUG_LEVEL;
> +            }
> +            nfs_set_debug(client->context, val);
> +#endif

Please include the rationale for limiting the debug level as a comment
in the code.  Otherwise people may read the code and not understand why
we do this.

The error message should indicate how to set high debug levels (if
possible).  A simple "You can't do that" error message is frustrating
:).

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]