From: "Pavel Dovgalyuk" <dovgaluk@ispras.ru>
To: 'Felipe Franciosi' <felipe@nutanix.com>,
'Markus Armbruster' <armbru@redhat.com>
Cc: 'Pavel Dovgalyuk' <Pavel.Dovgaluk@ispras.ru>,
'Eric Blake' <eblake@redhat.com>,
'qemu-devel' <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] replay: Fix build with -Werror=unused-result
Date: Wed, 21 Sep 2016 13:03:26 +0300 [thread overview]
Message-ID: <000301d213ef$65eb8110$31c28330$@ru> (raw)
In-Reply-To: <F2184EE4-2A52-4609-8681-E7D22F33735D@nutanix.com>
> From: Felipe Franciosi [mailto:felipe@nutanix.com]
> > On 21 Sep 2016, at 07:24, Markus Armbruster <armbru@redhat.com> wrote:
> >
> > "Pavel Dovgalyuk" <dovgaluk@ispras.ru> writes:
> >
> >>> From: Felipe Franciosi [mailto:felipe@nutanix.com]
> >>> If compiling with -Werror=unused-result, replay-internal.c won't build
> >>> due to a call to fwrite() where the returned value is ignored. A simple
> >>> cast to (void) is not sufficient on recent GCCs, so this fixes it.
> >>>
> >>> Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
> >>> ---
> >>> replay/replay-internal.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/replay/replay-internal.c b/replay/replay-internal.c
> >>> index 5835e8d..6978d76 100644
> >>> --- a/replay/replay-internal.c
> >>> +++ b/replay/replay-internal.c
> >>> @@ -65,7 +65,7 @@ void replay_put_array(const uint8_t *buf, size_t size)
> >>> {
> >>> if (replay_file) {
> >>> replay_put_dword(size);
> >>> - fwrite(buf, 1, size, replay_file);
> >>> + (void)(fwrite(buf, 1, size, replay_file)+1);
> >>> }
> >>> }
> >>
> >> This looks very weird.
>
> >> I think it would be better to check the return value and stop
> >> the simulation in case of error.
>
> We can also make replay_put_array() return an int indicating whether an error occurred. The
> callers can then decide whether to care or not. I'll send a v2 doing that instead for
> comments.
>
> > Ignoring errors is wrong more often than not. Whether it's wrong in
> > this case I can't say.
>
> True that. That's why I think a better first step is to make functions that can fail return an
> error code. Callers can make that decision later. Unfortunately, glibc decided that fwrite()
> should be tagged with WUR and that triggers this build failure.
>
> > What I can say is 1. the commit message needs to
> > explain *why* the error can be ignored,
>
> The error is already ignored today. I'll send a v2 that makes replay_put_array() reflect the
> error, the callers can then decide to ignore it.
There is no need to return an error.
When rr log cannot be created there is no need in executing in record mode.
Therefore execution has to be stopped in case of an error.
Pavel Dovgalyuk
next prev parent reply other threads:[~2016-09-21 10:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-20 17:08 [Qemu-devel] [PATCH] replay: Fix build with -Werror=unused-result Felipe Franciosi
2016-09-21 5:17 ` Pavel Dovgalyuk
2016-09-21 6:24 ` Markus Armbruster
2016-09-21 10:00 ` Felipe Franciosi
2016-09-21 10:03 ` Pavel Dovgalyuk [this message]
2016-09-21 10:07 ` Daniel P. Berrange
2016-09-21 10:12 ` Felipe Franciosi
2016-09-21 12:28 ` Felipe Franciosi
2016-09-21 12:31 ` Markus Armbruster
2016-09-21 13:55 ` Eric Blake
2016-09-21 14:26 ` Felipe Franciosi
2016-09-21 14:35 ` Daniel P. Berrange
2016-09-21 14:38 ` Felipe Franciosi
2016-09-21 14:44 ` Eric Blake
2016-09-21 15:28 ` Markus Armbruster
2016-09-21 18:18 ` Eric Blake
2016-09-22 8:00 ` Daniel P. Berrange
2016-09-22 11:51 ` Markus Armbruster
2016-09-22 13:30 ` Eric Blake
2016-09-23 8:15 ` Markus Armbruster
2016-09-23 13:02 ` Felipe Franciosi
2016-09-21 14:42 ` Eric Blake
2016-09-21 9:17 ` no-reply
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='000301d213ef$65eb8110$31c28330$@ru' \
--to=dovgaluk@ispras.ru \
--cc=Pavel.Dovgaluk@ispras.ru \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=felipe@nutanix.com \
--cc=qemu-devel@nongnu.org \
/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).