[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 20/25] block/nbd: Comment on discard/flush silen
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 20/25] block/nbd: Comment on discard/flush silently failing |
Date: |
Mon, 16 Mar 2015 15:44:39 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 16/03/2015 14:58, Max Reitz wrote:
>>>
>>> diff --git a/block/nbd-client.c b/block/nbd-client.c
>>> index be6803d..ab13607 100644
>>> --- a/block/nbd-client.c
>>> +++ b/block/nbd-client.c
>>> @@ -315,6 +315,7 @@ int nbd_client_co_flush(BlockDriverState *bs)
>>> ssize_t ret;
>>> if (!(client->nbdflags & NBD_FLAG_SEND_FLUSH)) {
>>> + /* This mirrors the behavior of bdrv_co_flush() in block.c */
>>> return 0;
>>> }
>>> @@ -350,6 +351,7 @@ int nbd_client_co_discard(BlockDriverState *bs,
>>> int64_t sector_num,
>>> ssize_t ret;
>>> if (!(client->nbdflags & NBD_FLAG_SEND_TRIM)) {
>>> + /* This mirrors the behavior of bdrv_co_discard() in block.c */
>>> return 0;
>> Should this return -EOPNOTSUPP instead?
>
> That's what this patch is for. I asked myself the same thing, and it
> turns out, the functions deliberately return 0 because bdrv_co_flush()
> and bdrv_co_discard() do the same if the block driver does not support
> these functions at all, so that's why I'm adding these comments.
Right, but a better model than block.c should be for example
block/raw-posix.c, which returns ENOTSUP (I checked now...).
Paolo