From nobody Fri Nov 14 21:04:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1761693432; cv=none; d=zohomail.com; s=zohoarc; b=mqtiNC3vSwUEddhSvw0LQgOUn2QlXDc/VUUTFx9VRA/8g0k8SnjdaEuErGuEocyci0CxpvAsgb0SndBQOaSeNKlzpwIUNymZ1cCSr13ZQeMJ/NJFZYIFCrS1oJ0Zy8SDHr3a8rTxTZTsn6J/Svi3JMlTT/X+P69QHb+Iqk+wzTY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761693432; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H2NIorVqRNjHxH8pDqqhipiNE/AFKe2aszIwI7b1Er8=; b=fVt+W6tLHxqjAaBKrVXtkaQPPUTeAzkvNMTmr+UnbgzqYN6iqQ3yZVxOzTxX39s7PCoYexSQTbo89u4Qw1x2vS1+ngPNNOEPXYnP45xJ+SRfgg9mPkhOw0Vwam6w1XtvDzd8HlwzHhc3BfBBqD8Fi6aPbuve95exel9ryet6pzw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761693432524208.35630855358716; Tue, 28 Oct 2025 16:17:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDstT-0002wd-QG; Tue, 28 Oct 2025 19:14:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDstQ-0002vl-JT for qemu-devel@nongnu.org; Tue, 28 Oct 2025 19:14:20 -0400 Received: from forwardcorp1b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDst7-000146-1A for qemu-devel@nongnu.org; Tue, 28 Oct 2025 19:14:20 -0400 Received: from mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net (mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net [IPv6:2a02:6b8:c10:49f:0:640:b99a:0]) by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id 1EA128171D; Wed, 29 Oct 2025 02:13:53 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:582::1:19]) by mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id oDnXpg2bCW20-2Fr0JDOO; Wed, 29 Oct 2025 02:13:52 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1761693232; bh=H2NIorVqRNjHxH8pDqqhipiNE/AFKe2aszIwI7b1Er8=; h=Message-ID:Date:In-Reply-To:Cc:Subject:References:To:From; b=XEBXyqOFYG9GyFOuQWqZNZh8vcpp45JXIw4BYsuTgbiJ6EdLomR5yJfWHHEc1foXc b3mGMyzbBYivJ1Y3AjsMxQzfcqzioyEnWPkpBP117jqsCmLjkuG3Ccdj2dKa7aAygO CsCttTrjrGXHPlGtL6MC5iY+zkDW+kVaLVcIqfJU= Authentication-Results: mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: peterx@redhat.com Cc: armbru@redhat.com, vsementsov@yandex-team.ru, qemu-devel@nongnu.org Subject: [RFC 01/22] migration: introduce vmstate_load_vmsd() and vmstate_save_vmsd() Date: Wed, 29 Oct 2025 02:13:25 +0300 Message-ID: <20251028231347.194844-2-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251028231347.194844-1-vsementsov@yandex-team.ru> References: <20251028231347.194844-1-vsementsov@yandex-team.ru> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=2a02:6b8:c02:900:1:45:d181:df01; envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1b.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1761693435720158500 Content-Type: text/plain; charset="utf-8" Introduce new APIs, returning bool. The analysis https://lore.kernel.org/qemu-devel/aQDdRn8t0B8oE3gf@x1.local/ shows, that vmstate_load_state() return value actually only used to check for success, specific errno values doesn't make sense. With this commit we introduce new functions with modern bool interface, and in following commits we'll update the whole code base to use them, and finally remove old vmstate_load_state() and vmstate_save_state(). During this update, we'll see, that return values of both functions is not significantly used, other then to check for success. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/migration/vmstate.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index dbe330dd5f..0aac3b7a66 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -1228,6 +1228,20 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateD= escription *vmsd, void *opaque, JSONWriter *vmdesc, int version_id, Error **errp); =20 +static inline bool vmstate_load_vmsd( + QEMUFile *f, const VMStateDescription *vmsd, + void *opaque, int version_id, Error **errp) +{ + return vmstate_load_state(f, vmsd, opaque, version_id, errp) >=3D 0; +} + +static inline bool vmstate_save_vmsd( + QEMUFile *f, const VMStateDescription *vmsd, + void *opaque, JSONWriter *vmdesc, Error **errp) +{ + return vmstate_save_state(f, vmsd, opaque, vmdesc, errp) >=3D 0; +} + bool vmstate_section_needed(const VMStateDescription *vmsd, void *opaque); =20 #define VMSTATE_INSTANCE_ID_ANY -1 --=20 2.48.1