From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49491) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVerr-0004NU-0U for qemu-devel@nongnu.org; Wed, 11 Mar 2015 07:32:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVern-0001BW-SV for qemu-devel@nongnu.org; Wed, 11 Mar 2015 07:32:02 -0400 Sender: Paolo Bonzini Message-ID: <550027AB.4000107@redhat.com> Date: Wed, 11 Mar 2015 12:31:55 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1424887718-10800-1-git-send-email-mreitz@redhat.com> <1424887718-10800-21-git-send-email-mreitz@redhat.com> In-Reply-To: <1424887718-10800-21-git-send-email-mreitz@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 20/25] block/nbd: Comment on discard/flush silently failing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz , qemu-block@nongnu.org Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi On 25/02/2015 19:08, Max Reitz wrote: > If some operation cannot be performed by a block driver, it is normally > supposed to return an error. In these cases, however, it is fine to > pretend the operations were carried out successfully because if the NBD > block driver would not implement discard or flush in the first place, > this is exactly what the block layer would do. > > Because this may not be obvious, add a comment for it. > > Signed-off-by: Max Reitz > --- > block/nbd-client.c | 2 ++ > 1 file changed, 2 insertions(+) > > 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? Paolo > } > request.from = sector_num * 512; >