From: "Denis V. Lunev" <den@openvz.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
qemu-devel@nongnu.org, Dimitris Aragiorgis <dimara@arrikto.com>
Subject: Re: [Qemu-devel] [PATCH 1/1] log: fix hanged connect from virt-manager to libvirt
Date: Thu, 3 Mar 2016 17:47:47 +0300 [thread overview]
Message-ID: <56D84E93.90904@openvz.org> (raw)
In-Reply-To: <56D84B85.70408@redhat.com>
On 03/03/2016 05:34 PM, Paolo Bonzini wrote:
>
> On 03/03/2016 15:25, Denis V. Lunev wrote:
>>> Actually, the patch in v1 is fine. My worry after looking at your patch
>>> was that I didn't have the dup2(stdout, stderr) case. However, with my
>>> change you can never call qemu_log_close if is_daemonized(), because
>>> even the monitor command "logfile" cannot set logfilename to NULL.
>> IMHO you are wrong.
> Possible. :)
>
>> void qemu_set_log_filename(const char *filename)
>> {
>> g_free(logfilename);
>> logfilename = g_strdup(filename);
>> qemu_log_close();
>> qemu_set_log(qemu_loglevel);
>> }
>>
>> static void hmp_logfile(Monitor *mon, const QDict *qdict)
>> {
>> qemu_set_log_filename(qdict_get_str(qdict, "filename"));
>> }
>>
>> This means that we will have qemu_log_close()
>> called in ANY case, even daemonized.
>> From my point of view stderr will continue to be mapped
>> to the old file if we request to stop logging either by
>> zero mask or by setting empty filename.
> Yes, but filename will never be NULL in hmp_logfile, will it? It's
> declared as 'F' in hmp-commands.hx, not as 'F?'. If this is changed, I
> agree that the dup2 needs to be added.
>
> A different issue is that do_qemu_set_log *exits* instead of printing an
> Error if fopen fails. In my opinion, in this case logging should not
> even be disabled in this case. But it can and should be fixed separately.
>
> The code is really ugly, it is old and used to be just a debugging aid.
>
> Paolo
ok, you are finally right. Your original code is correct and will
work even in these corner case.
Will it make sense to send a patch which will replace that code
to my one as followup + fix if 'fopen' will fail?
Den
next prev parent reply other threads:[~2016-03-03 14:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-03 13:48 [Qemu-devel] [PATCH 1/1] log: fix hanged connect from virt-manager to libvirt Denis V. Lunev
2016-03-03 13:49 ` Paolo Bonzini
2016-03-03 13:53 ` Denis V. Lunev
2016-03-03 14:04 ` Paolo Bonzini
2016-03-03 14:08 ` Denis V. Lunev
2016-03-03 14:15 ` Paolo Bonzini
2016-03-03 14:25 ` Denis V. Lunev
2016-03-03 14:34 ` Paolo Bonzini
2016-03-03 14:47 ` Denis V. Lunev [this message]
2016-03-03 14:53 ` Paolo Bonzini
2016-03-03 14:55 ` Denis V. Lunev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56D84E93.90904@openvz.org \
--to=den@openvz.org \
--cc=dimara@arrikto.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.