[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
:).
signature.asc
Description: PGP signature