All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: Peter Lieven <pl@kamp.de>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
	"Benoît Canet" <benoit.canet@irqsave.net>,
	qemu-devel@nongnu.org, "Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 07/12] block/json: Add bdrv_co_get_block_status()
Date: Thu, 10 Apr 2014 19:31:10 +0200	[thread overview]
Message-ID: <5346D55E.9070303@redhat.com> (raw)
In-Reply-To: <526ACCFF-5A7F-49A3-AC2A-71A39782C834@kamp.de>

On 08.04.2014 22:53, Peter Lieven wrote:
> Am 08.04.2014 um 15:15 schrieb Max Reitz <mreitz@redhat.com>:
>
>> On 07.03.2014 23:55, Max Reitz wrote:
>>> Implement this function in the same way as raw_bsd does: Acknowledge
>>> that this is a passthrough driver (always return BDRV_BLOCK_OFFSET_VALID
>>> and BDRV_BLOCK_DATA and derive the offset directly from the sector
>>> index) and add BDRV_BLOCK_RAW to the returned value.
>>>
>>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>>> ---
>>>   block/json.c | 10 ++++++++++
>>>   1 file changed, 10 insertions(+)
>> Ping – Benoît is unsure of BDRV_BLOCK_RAW, therefore he elected not to give a reviewed-by for this patch.
>>
>> The commit introducing BDRV_BLOCK_RAW (92bc50a5ad7fbc9a0bd17240eaea5027a100ca79) is signed-off-by Peter, reviewed-by Eric and signed-off-by Kevin (as the committer, I suppose). Could anyone of you comment on this patch? The question is whether to use BDRV_BLOCK_RAW or a recursive call to bdrv_get_block_status() here. I mean, I could just replace the BDRV_BLOCK_RAW by a recursive call to bdrv_get_block_status() and Benoît would probably approve, but obviously that would be cheating.
> Sorry, I missed Benoits earlier email. I have not fully looked through the block/json patch set, but as far as I understand its a filter that can be on top of any format/protocol combination.
> Therefore the only right solution can be to pass the bdrv_co_get_block_status call to the underlying format driver.
>
> As for the BDRV_BLOCK_RAW flag we introduced this for the special case of the raw format which guarantees a linear mapping of the whole drive to the underlaying protocol e.g.
> file, iscsi, host_device, nfs… Therefore we can derive the file offset from the sector. The allocation status has to be queried from the protocol driver. In fact in the raw format
> case it would also work to pass the call to bs->file, but this would result in 2 calls to bs->file->drv->bdrv_get_block_status for unallocated blocks. Remember that bdrv_get_block_status
> can be an expensive call e.g. in the iSCSI case. This is why I made commit 92bc50a5.
>
> Peter

Thank you very much. I'll send a v3 without BDRV_BLOCK_RAW then.

Max

  reply	other threads:[~2014-04-10 17:31 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-07 22:55 [Qemu-devel] [PATCH v2 00/12] block/json: Add JSON protocol driver Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 01/12] qdict: Add qdict_join() Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 02/12] check-qdict: Add test for qdict_join() Max Reitz
2014-03-08  0:21   ` Eric Blake
2014-03-09 12:27   ` Benoît Canet
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 03/12] block: Add "has_single_child" field for drivers Max Reitz
2014-03-09 12:15   ` Benoît Canet
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 04/12] block/json: Add JSON protocol driver Max Reitz
2014-03-09 12:18   ` Benoît Canet
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 05/12] block/json: Add functions for cache control Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 06/12] block/json: Add functions for writing zeroes etc Max Reitz
2014-03-09 12:19   ` Benoît Canet
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 07/12] block/json: Add bdrv_co_get_block_status() Max Reitz
2014-03-24 14:15   ` Benoît Canet
2014-04-08 13:15   ` Max Reitz
2014-04-08 20:53     ` Peter Lieven
2014-04-10 17:31       ` Max Reitz [this message]
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 08/12] block/json: Add ioctl etc Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 09/12] block/json: Add bdrv_get_specific_info() Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 10/12] block/raw_bsd: " Max Reitz
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 11/12] block/qapi: Ignore filters on top for format name Max Reitz
2014-03-09 12:22   ` Benoît Canet
2014-03-07 22:55 ` [Qemu-devel] [PATCH v2 12/12] iotests: Add test for the JSON protocol Max Reitz
2014-03-24 14:24   ` Benoît Canet
2014-03-21 18:16 ` [Qemu-devel] [PATCH v2 00/12] block/json: Add JSON protocol driver Max Reitz

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=5346D55E.9070303@redhat.com \
    --to=mreitz@redhat.com \
    --cc=benoit.canet@irqsave.net \
    --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.