From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42969) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyenS-0007xZ-QY for qemu-devel@nongnu.org; Tue, 17 Nov 2015 06:51:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyenP-00031d-KM for qemu-devel@nongnu.org; Tue, 17 Nov 2015 06:51:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47718) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyenP-00031Z-FM for qemu-devel@nongnu.org; Tue, 17 Nov 2015 06:51:35 -0500 Date: Tue, 17 Nov 2015 19:51:32 +0800 From: Fam Zheng Message-ID: <20151117115132.GG28076@ad.usersys.redhat.com> References: <1447751311-2317-1-git-send-email-den@openvz.org> <1447751311-2317-6-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1447751311-2317-6-git-send-email-den@openvz.org> Subject: Re: [Qemu-devel] [PATCH 05/11] migration: factor our snapshottability check in load_vmstate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: Kevin Wolf , qemu-devel@nongnu.org, stefanha@redhat.com, Juan Quintela On Tue, 11/17 12:08, Denis V. Lunev wrote: > We should check that all inserted and not read-only images support > snapshotting. This could be made using already invented helper > bdrv_all_can_snapshot(). > > Signed-off-by: Denis V. Lunev > CC: Juan Quintela > CC: Stefan Hajnoczi > CC: Kevin Wolf > --- > migration/savevm.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/migration/savevm.c b/migration/savevm.c > index 254e51d..2ecc1b3 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -2051,6 +2051,12 @@ int load_vmstate(const char *name) > QEMUFile *f; > int ret; > > + if (!bdrv_all_can_snapshot(&bs)) { > + error_report("Device '%s' is writable but does not support snapshots.", > + bdrv_get_device_name(bs)); > + return -ENOTSUP; > + } > + > bs_vm_state = find_vmstate_bs(); > if (!bs_vm_state) { > error_report("No block device supports snapshots"); > @@ -2071,15 +2077,8 @@ int load_vmstate(const char *name) > writable and check if the requested snapshot is available too. */ > bs = NULL; > while ((bs = bdrv_next(bs))) { > - > - if (!bdrv_is_inserted(bs) || bdrv_is_read_only(bs)) { > - continue; > - } > - > if (!bdrv_can_snapshot(bs)) { > - error_report("Device '%s' is writable but does not support snapshots.", > - bdrv_get_device_name(bs)); > - return -ENOTSUP; > + continue; > } > > ret = bdrv_snapshot_find(bs, &sn, name); > -- > 2.5.0 > > Reviewed-by: Fam Zheng