From patchwork Tue Aug 7 13:44:28 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [RFC,V2,05/10] quorum: Add quorum_getlength(). Date: Tue, 07 Aug 2012 03:44:28 -0000 From: Benoit Canet X-Patchwork-Id: 175645 Message-Id: <1344347073-7773-6-git-send-email-benoit@irqsave.net> To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, stefanha@linux.vnet.ibm.com, blauwirbel@gmail.com, anthony@codemonkey.ws, pbonzini@redhat.com, eblake@redhat.com, afaerber@suse.de, =?UTF-8?q?Beno=C3=AEt=20Canet?= Signed-off-by: Benoit Canet --- block/quorum.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/block/quorum.c b/block/quorum.c index 9da0432..5cd7083 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -118,12 +118,29 @@ static void quorum_close(BlockDriverState *bs) } } +static int64_t quorum_getlength(BlockDriverState *bs) +{ + BDRVQuorumState *s = bs->opaque; + int i; + int64_t ret; + + /* return the length of the first available quorum file */ + for (i = 0, ret = bdrv_getlength(s->bs[i]); + ret == -ENOMEDIUM && i <= 2; + i++, ret = bdrv_getlength(s->bs[i])) { + } + + return ret; +} + static BlockDriver bdrv_quorum = { .format_name = "quorum", .protocol_name = "quorum", .instance_size = sizeof(BDRVQuorumState), + .bdrv_getlength = quorum_getlength, + .bdrv_file_open = quorum_open, .bdrv_close = quorum_close, };