On Mon, 11/09 08:09, 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 > > Signed-off-by: Peter Lieven <p...@kamp.de> > --- > v4->v5: add a comment in the code why we limit the debug level [Stefan] > 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 | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/block/nfs.c b/block/nfs.c > index fd79f89..ab1e267 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,17 @@ 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")) { > + /* limit the maximum debug level to avoid potential flooding > + * of our log files. */ > + 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
It would be slightly nicer to do: } else if (!strcmp(qp->p[i].name, "debug")) { #ifdef LIBNFS_FEATURE_DEBUG /* limit the maximum debug level to avoid potential flooding * of our log files. */ 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); #else error_report("Specifying debug level is only supported by libnfs" " version >= XXX"); #endif So that you know which one out of QEMU and libnfs to upgrade when the option is refused. :) But it's your call. Either way: Reviewed-by: Fam Zheng <f...@redhat.com> > } else { > error_setg(errp, "Unknown NFS parameter name: %s", > qp->p[i].name); > -- > 1.9.1 >