From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41731) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1boqLs-00088D-MG for qemu-devel@nongnu.org; Tue, 27 Sep 2016 07:15:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1boqLr-00049S-OY for qemu-devel@nongnu.org; Tue, 27 Sep 2016 07:15:08 -0400 From: Fam Zheng Date: Tue, 27 Sep 2016 19:14:52 +0800 Message-Id: <1474974892-5031-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v3] block: Turn on "unmap" in active commit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jeff Cody , Kevin Wolf , Max Reitz , qemu-block@nongnu.org We already specified BDRV_O_UNMAP when opening images in 'qemu-img commit', but didn't turn on the "unmap" in the active commit job. This patch fixes that so that zeroed clusters in top image can be discarded which is desired in the virt-sparsify use case, where a temporary overlay is created and fstrim'ed before commiting back, to free space in the original image. This also enables it for block-commit. Signed-off-by: Fam Zheng --- v3: Change the right parameter. v2: Add "unmap" to block-commit as well. [Kevin] --- block/mirror.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/mirror.c b/block/mirror.c index f9d1fec..8847ec5 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1042,7 +1042,7 @@ void commit_active_start(const char *job_id, BlockDriverState *bs, mirror_start_job(job_id, bs, base, NULL, speed, 0, 0, MIRROR_LEAVE_BACKING_CHAIN, - on_error, on_error, false, cb, opaque, &local_err, + on_error, on_error, true, cb, opaque, &local_err, &commit_active_job_driver, false, base, auto_complete); if (local_err) { error_propagate(errp, local_err); -- 2.7.4