From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1boolo-000615-TI for qemu-devel@nongnu.org; Tue, 27 Sep 2016 05:33:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1boolm-0005SY-Ru for qemu-devel@nongnu.org; Tue, 27 Sep 2016 05:33:47 -0400 From: Fam Zheng Date: Tue, 27 Sep 2016 17:33:33 +0800 Message-Id: <1474968813-14181-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v2] 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 --- 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..8f6f506 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1043,7 +1043,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, - &commit_active_job_driver, false, base, auto_complete); + &commit_active_job_driver, true, base, auto_complete); if (local_err) { error_propagate(errp, local_err); goto error_restore_flags; -- 2.7.4