From nobody Mon Nov 10 17:55:34 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1557859032; cv=none; d=zoho.com; s=zohoarc; b=hl2GXbW2Fm774L89gDE4AG2YZk5GGLpyN6K7QoxZlUkOk7jPHOQoCT/QGwxuqKv+uckNoFYmsPGpfQ9Bghyc0DrLyuxKJExZpjT5bYrgcES+Li3u26/jyeRuuVnVtl9pen1g7BaappcU4CrPC2+4W8M3vD0vtLmwgH38l1QMnno= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557859032; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=d3+3BofSYGlsdM/RS7htI3ULQTff+L3rEk++IamGR/c=; b=Kvp8YGX61xVIhCwUl/G7DfoFAkvSLYb6G6WFHBbVkdjEMVle53Mm853E4wMKG0cMkfqJ2gvyj5cjDQk4Vmg1sWv2wfLsLRqaN/vqdufo1cu6yMazoY+T+Sc8aBkh7IZzVvlA3WceYmFfuwINEQI5/+mv+jhgDt0crAPswnLkm9I= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 15578590328748.415673591562609; Tue, 14 May 2019 11:37:12 -0700 (PDT) Received: from localhost ([127.0.0.1]:52393 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQcIS-0007zi-R3 for importer@patchew.org; Tue, 14 May 2019 14:37:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39587) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQcGU-0006Op-0W for qemu-devel@nongnu.org; Tue, 14 May 2019 14:35:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hQcGT-0000Qs-2W for qemu-devel@nongnu.org; Tue, 14 May 2019 14:35:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59298) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hQcGS-0000Pt-SK for qemu-devel@nongnu.org; Tue, 14 May 2019 14:35:00 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2A65430833DF; Tue, 14 May 2019 18:35:00 +0000 (UTC) Received: from dgilbert-t580.localhost (ovpn-117-232.ams2.redhat.com [10.36.117.232]) by smtp.corp.redhat.com (Postfix) with ESMTP id A2B5A608AB; Tue, 14 May 2019 18:34:58 +0000 (UTC) From: "Dr. David Alan Gilbert (git)" To: qemu-devel@nongnu.org, quintela@redhat.com, peterx@redhat.com, ehabkost@redhat.com, richardw.yang@linux.intel.com, yury-kotov@yandex-team.ru, chen.zhang@intel.com Date: Tue, 14 May 2019 19:34:39 +0100 Message-Id: <20190514183454.12758-2-dgilbert@redhat.com> In-Reply-To: <20190514183454.12758-1-dgilbert@redhat.com> References: <20190514183454.12758-1-dgilbert@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Tue, 14 May 2019 18:35:00 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 01/16] migration: comment VMSTATE_UNUSED*() properly X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Peter Xu It is error prone to use VMSTATE_UNUSED*() sometimes especially when the size of the migration stream of the field is not the same as the size of the structure (boolean is one example). Comment it well so people will be aware of this when people want to use it. Signed-off-by: Peter Xu Message-Id: <20190329095713.14177-1-peterx@redhat.com> Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- include/migration/vmstate.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index a668ec75b8..9224370ed5 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -1035,6 +1035,20 @@ extern const VMStateInfo vmstate_info_qtailq; #define VMSTATE_BUFFER_UNSAFE(_field, _state, _version, _size) \ VMSTATE_BUFFER_UNSAFE_INFO(_field, _state, _version, vmstate_info_buff= er, _size) =20 +/* + * These VMSTATE_UNUSED*() macros can be used to fill in the holes + * when some of the vmstate fields are obsolete to be compatible with + * migrations between new/old binaries. + * + * CAUTION: when using any of the VMSTATE_UNUSED*() macros please be + * sure that the size passed in is the size that was actually *sent* + * rather than the size of the *structure*. One example is the + * boolean type - the size of the structure can vary depending on the + * definition of boolean, however the size we actually sent is always + * 1 byte (please refer to implementation of VMSTATE_BOOL_V and + * vmstate_info_bool). So here we should always pass in size=3D=3D1 + * rather than size=3D=3Dsizeof(bool). + */ #define VMSTATE_UNUSED_V(_v, _size) \ VMSTATE_UNUSED_BUFFER(NULL, _v, _size) =20 --=20 2.21.0