From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44734) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R3TMR-0003z1-1X for qemu-devel@nongnu.org; Tue, 13 Sep 2011 09:49:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R3TML-0003d5-BE for qemu-devel@nongnu.org; Tue, 13 Sep 2011 09:49:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R3TML-0003cn-41 for qemu-devel@nongnu.org; Tue, 13 Sep 2011 09:49:09 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p8DDn8Fp025535 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 13 Sep 2011 09:49:08 -0400 Message-ID: <4E6F6005.7030408@redhat.com> Date: Tue, 13 Sep 2011 15:52:05 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <1315495505-28906-1-git-send-email-pbonzini@redhat.com> <1315495505-28906-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1315495505-28906-5-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 04/12] nbd: add support for NBD_CMD_FLUSH List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org Am 08.09.2011 17:24, schrieb Paolo Bonzini: > Note for the brace police: the style in this commit and the following > is consistent with the rest of the file. It is then fixed together with > the introduction of coroutines. > > Signed-off-by: Paolo Bonzini > --- > block/nbd.c | 31 +++++++++++++++++++++++++++++++ > nbd.c | 14 +++++++++++++- > 2 files changed, 44 insertions(+), 1 deletions(-) > > diff --git a/block/nbd.c b/block/nbd.c > index ffc57a9..4a195dc 100644 > --- a/block/nbd.c > +++ b/block/nbd.c > @@ -237,6 +237,36 @@ static int nbd_write(BlockDriverState *bs, int64_t sector_num, > return 0; > } > > +static int nbd_flush(BlockDriverState *bs) > +{ > + BDRVNBDState *s = bs->opaque; > + struct nbd_request request; > + struct nbd_reply reply; > + > + if (!(s->nbdflags & NBD_FLAG_SEND_FLUSH)) { > + return 0; > + } > + > + request.type = NBD_CMD_FLUSH; > + request.handle = (uint64_t)(intptr_t)bs; > + request.from = 0; > + request.len = 0; > + > + if (nbd_send_request(s->sock, &request) == -1) > + return -errno; > + > + if (nbd_receive_reply(s->sock, &reply) == -1) > + return -errno; > + > + if (reply.error !=0) Missing space (this is not for consistency, right?) > @@ -682,6 +683,18 @@ int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset, > TRACE("Request type is DISCONNECT"); > errno = 0; > return 1; > + case NBD_CMD_FLUSH: > + TRACE("Request type is FLUSH"); > + > + if (bdrv_flush(bs) == -1) { bdrv_flush is supposed to return -errno, so please check for < 0. (I see that raw-posix needs to be fixed, but other block drivers already return error values other than -1) Kevin