From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47867) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0Rg1-0007wo-7A for qemu-devel@nongnu.org; Mon, 15 Dec 2014 04:10:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y0Rfv-0005cj-Vw for qemu-devel@nongnu.org; Mon, 15 Dec 2014 04:10:48 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:27462 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0Rfv-0004kT-9K for qemu-devel@nongnu.org; Mon, 15 Dec 2014 04:10:43 -0500 From: "Denis V. Lunev" Date: Mon, 15 Dec 2014 11:27:56 +0300 Message-Id: <1418632081-20667-12-git-send-email-den@openvz.org> In-Reply-To: <1418632081-20667-1-git-send-email-den@openvz.org> References: <1418632081-20667-1-git-send-email-den@openvz.org> Subject: [Qemu-devel] [PATCH 11/16] block/parallels: add support for backing files List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Roman Kagan , Jeff Cody , qemu-devel@nongnu.org, Stefan Hajnoczi , "Denis V. Lunev" From: Roman Kagan Add backing file support to Parallels format driver. That said, I think backing file operations should end up in the generic block layer, but that's a longer story... Signed-off-by: Roman Kagan Signed-off-by: Denis V. Lunev CC: Jeff Cody CC: Kevin Wolf CC: Stefan Hajnoczi --- block/parallels.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/block/parallels.c b/block/parallels.c index 2d3e962..718274b 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -419,6 +419,11 @@ static int parallels_read(BlockDriverState *bs, int64_t sector_num, if (ret < 0) { return ret; } + } else if (bs->backing_hd) { + int ret = bdrv_read(bs->backing_hd, sector_num, buf, n); + if (ret < 0) { + return ret; + } } else { memset(buf, 0, n << BDRV_SECTOR_BITS); } @@ -454,6 +459,7 @@ static BlockDriver bdrv_parallels = { .bdrv_read = parallels_co_read, .bdrv_close = parallels_close, .bdrv_co_get_block_status = parallels_co_get_block_status, + .supports_backing = true, }; static void bdrv_parallels_init(void) -- 1.9.1