[libvirt] [Patch 2/3]virsh: Make "DEBUG" loglevel the superset
Supriya Kannery
supriyak at in.ibm.com
Fri Jul 15 07:25:14 UTC 2011
On 07/14/2011 05:28 PM, Jiri Denemark wrote:
> On Thu, Jun 30, 2011 at 13:52:32 +0530, Supriya Kannery wrote:
>> va_start(ap, format);
>> if (virVasprintf(&str, format, ap)< 0) {
>> /* Skip debug messages on low memory */
>>
>
> This breaks make check for two reasons. First, it reverses the condition but
> leaves default level unchanged, so instead of not printint anything but errors
> before the patch it now prints all debug messages by default. Second, you
> forgot to change -d5 option passed to virsh in tests/virsh-optparse to -d0;
> the script wants to see all debug messages.
>
Jiri,
Thanks! for reviewing this patchset.
I missed to look at make check. Will take this as a learning while
preparing future patches.
> In other words, the following patch needs to be squashed in.
>
> Jirka
>
> diff --git a/tests/virsh-optparse b/tests/virsh-optparse
> index 092e80d..7b3a25d 100755
> --- a/tests/virsh-optparse
> +++ b/tests/virsh-optparse
> @@ -64,7 +64,7 @@ for args in \
> '--count 2 test' \
> '--count=2 test' \
> ; do
> - virsh -d5 -c $test_url setvcpus $args>out 2>>err || fail=1
> + virsh -d0 -c $test_url setvcpus $args>out 2>>err || fail=1
> LC_ALL=C sort out | compare - exp-out || fail=1
> done
> test -s err&& fail=1
> diff --git a/tools/virsh.c b/tools/virsh.c
> index dda86cb..6d356d2 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -98,6 +98,8 @@ typedef enum {
> VSH_ERR_ERROR
> } vshErrorLevel;
>
> +#define VSH_DEBUG_DEFAULT VSH_ERR_ERROR
> +
> /*
> * virsh command line grammar:
> *
> @@ -13406,15 +13408,17 @@ vshInit(vshControl *ctl)
> if (ctl->conn)
> return false;
>
> - if (ctl->debug == -1) {
> + if (ctl->debug == VSH_DEBUG_DEFAULT) {
ctl->debug was initialized to -1, so that, if it is already set from
commandline, there is no need to read ENV. My intention was to keep the
order as cmdline > ENV and avoid overwriting of cmd loglevel by ENV.
If we initialize ctl->debug to VSH_DEBUG_DEFAULT, incase from
commandline, user set -d as VSH_ERR_ERROR (or VSH_DEBUG_DEFAULT), then
unnecessarily ctl->debug will be overwritten by ENV.
> @@ -14102,7 +14106,7 @@ main(int argc, char **argv)
> memset(ctl, 0, sizeof(vshControl));
> ctl->imode = true; /* default is interactive mode */
> ctl->log_fd = -1; /* Initialize log file descriptor */
> - ctl->debug = -1; /* Initialize log level */
> + ctl->debug = VSH_DEBUG_DEFAULT;
>
> if (!setlocale(LC_ALL, "")) {
> perror("setlocale");
More information about the libvir-list
mailing list