On 11/25/2015 05:59 AM, marcandre.lur...@redhat.com wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > According to the specification: > http://pubs.opengroup.org/onlinepubs/9699919799/functions/fopen.html > > "the application shall ensure that output is not directly followed by > input without an intervening call to fflush() or to a file positioning > function (fseek(), fsetpos(), or rewind()), and input is not directly > followed by output without an intervening call to a file positioning > function, unless the input operation encounters end-of-file." > > Without this change, a write() followed by a read() may lose the > previously written content, as shown in the following test. > > Fixes: > https://bugzilla.redhat.com/show_bug.cgi?id=1210246 > --- > qga/commands-posix.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+)
With Laszlo's suggested commit message improvements, Reviewed-by: Eric Blake <ebl...@redhat.com> > > diff --git a/qga/commands-posix.c b/qga/commands-posix.c > index 0ebd473..cf1d7ec 100644 > --- a/qga/commands-posix.c > +++ b/qga/commands-posix.c > @@ -216,9 +216,16 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, > Error **errp) > } > } > > +typedef enum { > + RW_STATE_NEW, Bikeshedding: NEW really only sounds right after open(), and doesn't quite right after a flush; maybe CLEAN or WAITING would be a better name? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature