From: Max Reitz <mreitz@redhat.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Peter Lieven <pl@kamp.de>,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 01/13] block: Make essential BlockDriver objects public
Date: Tue, 02 Dec 2014 10:11:15 +0100 [thread overview]
Message-ID: <547D8233.7040600@redhat.com> (raw)
In-Reply-To: <547C9058.5050708@redhat.com>
On 2014-12-01 at 16:59, Eric Blake wrote:
> On 11/27/2014 07:48 AM, Max Reitz wrote:
>> There are some block drivers which are essential to QEMU and may not be
>> removed: These are raw, file and qcow2 (as the default non-raw format).
>> Make their BlockDriver objects public so they can be directly referenced
>> throughout the block layer without needing to call bdrv_find_format()
>> and having to deal with an error at runtime, while the real problem
>> occured during linking (where raw, file or qcow2 were not linked into
> s/occured/occurred/
>
>> qemu).
>>
>> Cc: qemu-stable@nongnu.org
>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>> ---
>> block/qcow2.c | 4 ++--
>> block/raw-posix.c | 4 ++--
>> block/raw-win32.c | 4 ++--
>> block/raw_bsd.c | 4 ++--
>> include/block/block_int.h | 8 ++++++++
>> 5 files changed, 16 insertions(+), 8 deletions(-)
> Reviewed-by: Eric Blake <eblake@redhat.com>
>
>> +++ b/block/qcow2.c
>> @@ -2847,7 +2847,7 @@ static QemuOptsList qcow2_create_opts = {
>> }
>> };
>>
>> -static BlockDriver bdrv_qcow2 = {
>> +BlockDriver *bdrv_qcow2 = &(BlockDriver){
> Do we want any use of 'const', to avoid accidental manipulation of the
> pointer and/or pointed-to contents?
Sounds good at first, but for instance qemu_opts_create() (which is
often called with bdrv_qcow2->create_opts and the like) don't take a
const pointer. We could fix all those functions, but trying to fix the
const-ness of the block layer sounds like really tedious work to me...
Also, bdrv_find_format() returns a non-const pointer so it's at least
not more broken than it was before.
Max
next prev parent reply other threads:[~2014-12-02 9:11 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 14:48 [Qemu-devel] [PATCH v2 00/13] block: Various Coverity-spotted fixes Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 01/13] block: Make essential BlockDriver objects public Max Reitz
2014-12-01 15:59 ` Eric Blake
2014-12-02 9:11 ` Max Reitz [this message]
2014-12-02 16:45 ` Eric Blake
2014-12-02 10:51 ` Kevin Wolf
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 02/13] block: Omit bdrv_find_format for essential drivers Max Reitz
2014-12-01 16:01 ` Eric Blake
2014-12-02 9:12 ` Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 03/13] block/vvfat: qcow driver may not be found Max Reitz
2014-12-02 10:57 ` Kevin Wolf
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 04/13] block/nfs: Add create_opts Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 05/13] block: Check create_opts before image creation Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 06/13] qemu-img: " Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 07/13] qemu-img: Check create_opts before image amendment Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 08/13] iotests: Only kill NBD server if it runs Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 09/13] iotests: Add test for unsupported image creation Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 10/13] qcow2: Prevent numerical overflow Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 11/13] qcow2: Flushing the caches in qcow2_close may fail Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 12/13] qcow2: Respect bdrv_truncate() error Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 13/13] block/raw-posix: Fix ret in raw_open_common() Max Reitz
2014-12-02 11:39 ` [Qemu-devel] [PATCH v2 00/13] block: Various Coverity-spotted fixes Kevin Wolf
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=547D8233.7040600@redhat.com \
--to=mreitz@redhat.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.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 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.