From: Kevin Wolf <kwolf@redhat.com>
To: Peter Lieven <pl@dlhnet.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Jeff Cody <jcody@redhat.com>,
qemu-devel@nongnu.org, stefanha@redhat.com, sw@weilnetz.de
Subject: Re: [Qemu-devel] [PATCH 1/7] block: only force IO completion in .bdrv_truncate if we are shrinking
Date: Thu, 7 Mar 2013 09:57:29 +0100 [thread overview]
Message-ID: <20130307085729.GC2536@dhcp-200-207.str.redhat.com> (raw)
In-Reply-To: <51378A7A.1060208@dlhnet.de>
Am 06.03.2013 um 19:27 hat Peter Lieven geschrieben:
> Am 06.03.2013 19:06, schrieb Paolo Bonzini:
> > Il 06/03/2013 18:50, Peter Lieven ha scritto:
> >>>> Commit 9a665b2b made bdrv_truncate() call bdrv_drain_all(), but this breaks
> >>>> QCOW images, as well other future image formats (such as VHDX) that may call
> >>>> bdrv_truncate(bs->file) from within a read/write operation. For example, QCOW
> >>>> will cause an assert, due to tracked_requests not being empty (since the
> >>>> read/write that called bdrv_truncate() is still in progress).
> >
> > I'm not sure such bdrv_truncate calls are necessary. QCOW2 doesn't have
> > them (almost; there is one in qcow2_write_compressed, I'm not even sure
> > that one is necessary though), and I think QCOW's breaks using it with a
> > block device as a backing file.
>
> I think we have to check the sense of bs->growable nevertheless. It is set
> to 1 for all drivers which can't be right?!
For everything that goes through bdrv_file_open(), which are protocol
drivers, not format drivers. It is required for files so that formats
can write past EOF; for other drivers that can't actually grow their
backing storage it doesn't hurt because they will return an eror anyway
when you write to it.
"bdrv_truncate() works" and "bs->growable == true" are totally different
things, so even though it doesn't look right at the first sight,
bs->growable does its job correctly.
In your other mail you're talking about setting it for raw, qcow2, VHDX.
This would be discussing on the entirely wrong level, this isn't about
formats, but about protocols (file, host_device, nbd, iscsi, http,
vvfat...), that are below the format drivers.
Kevin
next prev parent reply other threads:[~2013-03-07 8:57 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-06 14:46 [Qemu-devel] [PATCH 0/7] Initial VHDX support (and a bug fix for QCOW) Jeff Cody
2013-03-06 14:47 ` [Qemu-devel] [PATCH 1/7] block: only force IO completion in .bdrv_truncate if we are shrinking Jeff Cody
2013-03-06 17:50 ` Peter Lieven
2013-03-06 18:06 ` Paolo Bonzini
2013-03-06 18:14 ` Jeff Cody
2013-03-06 18:31 ` Paolo Bonzini
2013-03-06 18:48 ` Jeff Cody
2013-03-06 19:03 ` Peter Lieven
2013-03-06 20:39 ` Paolo Bonzini
2013-03-07 8:50 ` Kevin Wolf
2013-03-07 8:56 ` Peter Lieven
2013-03-07 9:03 ` Kevin Wolf
2013-03-07 9:16 ` Peter Lieven
2013-03-07 9:22 ` Kevin Wolf
2013-03-07 9:25 ` Peter Lieven
2013-03-07 10:00 ` Kevin Wolf
2013-03-07 10:22 ` Peter Lieven
2013-03-07 16:45 ` Paolo Bonzini
2013-03-07 8:53 ` Peter Lieven
2013-03-07 8:59 ` Kevin Wolf
2013-03-07 16:09 ` Paolo Bonzini
2013-03-08 7:53 ` Peter Lieven
2013-03-08 9:23 ` Paolo Bonzini
2013-03-08 9:35 ` Kevin Wolf
2013-03-08 11:46 ` Peter Lieven
2013-03-08 11:56 ` Kevin Wolf
2013-03-09 9:36 ` Peter Lieven
[not found] ` <51378A23.5090301@dlhnet.de>
[not found] ` <20130306184217.GC3743@localhost.localdomain>
2013-03-06 18:46 ` Peter Lieven
2013-03-06 18:27 ` Peter Lieven
2013-03-07 8:57 ` Kevin Wolf [this message]
2013-03-06 18:32 ` Jeff Cody
2013-03-06 20:22 ` Paolo Bonzini
2013-03-06 14:47 ` [Qemu-devel] [PATCH 2/7] qemu: add castagnoli crc32c checksum algorithm Jeff Cody
2013-03-06 14:47 ` [Qemu-devel] [PATCH 3/7] block: vhdx header for the QEMU support of VHDX images Jeff Cody
2013-03-07 13:15 ` Stefan Hajnoczi
2013-03-07 13:43 ` Jeff Cody
2013-03-06 14:48 ` [Qemu-devel] [PATCH 4/7] block: initial VHDX driver support framework - supports open and probe Jeff Cody
2013-03-07 14:30 ` Stefan Hajnoczi
2013-03-07 15:23 ` Jeff Cody
2013-03-07 16:12 ` Stefan Hajnoczi
2013-03-08 8:35 ` Kevin Wolf
2013-03-06 14:48 ` [Qemu-devel] [PATCH 5/7] block: add read-only support to VHDX image format Jeff Cody
2013-03-06 14:48 ` [Qemu-devel] [PATCH 6/7] block: add header update capability for VHDX images Jeff Cody
2013-03-07 14:50 ` Stefan Hajnoczi
2013-03-07 15:33 ` Jeff Cody
2013-03-07 16:15 ` Stefan Hajnoczi
2013-03-06 14:48 ` [Qemu-devel] [PATCH 7/7] block: add write support " Jeff Cody
2013-03-07 15:59 ` Stefan Hajnoczi
2013-03-07 16:05 ` Jeff Cody
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=20130307085729.GC2536@dhcp-200-207.str.redhat.com \
--to=kwolf@redhat.com \
--cc=jcody@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pl@dlhnet.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
/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).