From: Fam Zheng <famz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org,
Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH for-2.11 v2] file-posix: Clear out first sector in hdev_create
Date: Fri, 8 Sep 2017 17:44:08 +0800 [thread overview]
Message-ID: <20170908094408.GJ4511@lemon> (raw)
In-Reply-To: <20170907150739.GH4461@dhcp-200-186.str.redhat.com>
On Thu, 09/07 17:07, Kevin Wolf wrote:
> > diff --git a/block/file-posix.c b/block/file-posix.c
> > index f4de022ae0..a63bbf2b90 100644
> > --- a/block/file-posix.c
> > +++ b/block/file-posix.c
> > @@ -2703,6 +2703,16 @@ static int hdev_create(const char *filename, QemuOpts *opts,
> > ret = -ENOSPC;
> > }
>
> So the error paths above only set ret, but don't actually return or jump
> to the end of the function.
>
> > + if (total_size) {
> > + uint8_t buf[BDRV_SECTOR_SIZE] = { 0 };
> > + int64_t zero_size = MIN(BDRV_SECTOR_SIZE, total_size);
> > + if (lseek(fd, 0, SEEK_SET) == -1) {
> > + ret = -errno;
> > + } else {
> > + ret = qemu_write_full(fd, buf, zero_size);
> > + ret = ret == zero_size ? 0 : -errno;
>
> Which means that an error above (like a too small block device or using
> a regular file) can be overwritten with a success value if clearing the
> first sector works. That's probably not quite right.
You're right, will fix.
Fam
prev parent reply other threads:[~2017-09-08 9:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-11 8:09 [Qemu-devel] [PATCH for-2.11 v2] file-posix: Clear out first sector in hdev_create Fam Zheng
2017-08-11 14:42 ` Eric Blake
2017-08-12 1:06 ` Fam Zheng
2017-08-31 6:53 ` Fam Zheng
2017-09-07 15:07 ` Kevin Wolf
2017-09-08 9:44 ` Fam Zheng [this message]
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=20170908094408.GJ4511@lemon \
--to=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--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 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.