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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).