From patchwork Mon Aug 29 17:30:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Storm, Christian" X-Patchwork-Id: 1671579 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::240; helo=mail-lj1-x240.google.com; envelope-from=swupdate+bncbdd6bwv65qpbb4xowomamgqegd3r4fi@googlegroups.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20210112 header.b=dVOUuDbp; dkim-atps=neutral Received: from mail-lj1-x240.google.com (mail-lj1-x240.google.com [IPv6:2a00:1450:4864:20::240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MGcrD2wznz1yhC for ; Tue, 30 Aug 2022 03:29:30 +1000 (AEST) Received: by mail-lj1-x240.google.com with SMTP id d4-20020a2e9284000000b0025e0f56d216sf2097298ljh.7 for ; Mon, 29 Aug 2022 10:29:30 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1661794163; cv=pass; d=google.com; s=arc-20160816; b=h0BBDs2p5n9Wq2YGYrS78xitQubeBm6a5nSGyKIfCxoZQI6tmsn+YxtuThOPDmT08A 1rsYD1LElX9/+xn5l9vAJefjKgj+a4XFabOMdd4t/+CyRSu8FtxNjiEgOK/6gWR3x+ty XerFwmkfnR9oMwUAbFkge6SEYX5YNT1Vv4xEmakbsGz+FH+10c59eGVlImSWL0Ob9ZQP AVO2jN1Fw71NtJWFCoUUvFWq2ibEAQKxs2uk+ej5ZXkYo0/XFLkqEp+LMQbsieShG8mP BO//FGVFmBdb/oaVwH52N0sclM87Sw1uHZgwEpLUutQlnZtaaH6q64p8jv75NS3U9kU8 8leQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=jLAj++/0OYgG+w0aVf3pT01WkEybPP6Lwu75nciOcug=; b=n22ShbqKq96Z5nz/xzODU0I+a5dbkA2szjtzmouQSDhZ/4K9kcB6vHpM5NHpULjtPy r7qvhmHG/+CnnAvMJpuq2+RAH+RZzstzjUq+g8zLbwtb5cmEaZl5gsu/47RyWGhFYLLL EHXxH3J7XjuYECxYP6B49zLMK0CWkawaBUlZLJTTclN6qKhF2aieFulR4qO9HtV2iStc Yef8n2HmJu4fazbNmnwf4b0W3n1M7MusWWJcXqb+9rdOBI/nmYYCI5IQ011H31FoeiZS 1XuKaNsdhyELEI8XRIA2wfUvuz4l11DgIhWM+9rWyqCWgGMajlXWnEzv2gH+UL79FhNZ r7vg== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=wQDoiaST; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of christian.storm@siemens.com designates 40.107.15.74 as permitted sender) smtp.mailfrom=christian.storm@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc; bh=jLAj++/0OYgG+w0aVf3pT01WkEybPP6Lwu75nciOcug=; b=dVOUuDbpDkoVKkTByCR2VQQMA5UCNe7p4Es2BksB7WE7iae7yRTz1qT6gYE6Zkjoe/ WqgpQEJPiyEfYum93QaM01ZQTJHGr6aW6TTNyUVd3FT6wYprJBE3aBSuAXA7T+mtrKPo dIIVKgt7zrdVupqJ/46InCFAdiA6tvi889n3U2qLxSkU9GhrIC72oGuPEILXOxFjQ7uK PevoSWH+dxwec5cwNKMUxMDx8dwDZ5ltqkzDGYiwRl7RuZo85xdp+QQTxKLx+4N3NCPl mCQMWAu3lBtO8BjgliiMJi196zFjNF2ujsya1p3h8b0nTotqbhW5oTgePf4yrmEBtxig U8FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-gm-message-state:sender:from :to:cc; bh=jLAj++/0OYgG+w0aVf3pT01WkEybPP6Lwu75nciOcug=; b=I0afQXDChuo6dXhVGZAW0HqiJE5Pxt0N2utkWreMEOUvKQg1X3dd30IeERf8VnkG4+ N5bRXp+8Uot4gQ9dbD0PaOsiK1Yqyi0xrp06CsSs/VHI4QxTBMfKo/UqhFUHumZy8V78 NLb53QWwZYo6clShVCfWvmfWZRewy3BkEH998MNSd9wmwxmypxSNEvP1sLOsyE69fyb8 fdH72sBSJCPL63BeF+IZ9Yh22i6fKySYqGDdMnIxDgwQxGj9AONlmiw6QM2DMpHyKAPT J9XyEdOGy6mSVp71b++YR2o/NYekD4M0Aag/zbv1ipFN68tO8FKq1uQpWJDEvyQ0jBg+ BOUg== Sender: swupdate@googlegroups.com X-Gm-Message-State: ACgBeo3kyqt7R05AsSPhNVz5tg7nNbOD1rvbGe06p7Je58lVVIvHV+Ya Xx60FDTRfhWjknHqDqUMGAk= X-Google-Smtp-Source: AA6agR7aUJm3rqF85cg2Xr4IaqmIPjNzno7x3qADhrp4k6W+ss6svO4IRDChFR+vAUnpyMqLCy2Wdg== X-Received: by 2002:a2e:96d3:0:b0:267:275c:918d with SMTP id d19-20020a2e96d3000000b00267275c918dmr58509ljj.348.1661794163178; Mon, 29 Aug 2022 10:29:23 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:ac2:5e33:0:b0:48b:2227:7787 with SMTP id o19-20020ac25e33000000b0048b22277787ls1992714lfg.3.-pod-prod-gmail; Mon, 29 Aug 2022 10:29:21 -0700 (PDT) X-Received: by 2002:a19:7411:0:b0:494:64c5:6864 with SMTP id v17-20020a197411000000b0049464c56864mr3174828lfe.589.1661794161551; Mon, 29 Aug 2022 10:29:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1661794161; cv=pass; d=google.com; s=arc-20160816; b=O1Br+pUWL2fyjlOO/fjUUmBnyLhgQfbXIHT3eewnOWhgTw+XRk64hCb5WYkoZvHNnh dhPN1hqsU0R91lmkQaw2NJKJqoVKMVx2kX7yTRhdPsfrATSCJ/0XEgynUNR/MeAsm+BK CQ1dI2whctP2DtcujTpLSnYklyXpXmcUUQ/qodPOHdHXCNG91XrWW6Oez9NdDfhsGYpO lVcHgMxzuyWjUmw+TAkniKuFgpQsxiwFidIbvFCi8YmZPv4kgzugNYQCcOGkuanq6PvT xBFRjLpN1svRxetnWguVhepPhYPgeAm0SPTxt+ddPKJfZYVBgxoFcvFcdbQMZH5trW8v 7DpA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=FDUU5MNkVkjfYBu5HyAdaC9xS1hjrHAt5qFc5Z5rILY=; b=XwEGSu0j94lGGZMVgdX0tSbrHjNwwmGRqAHDNM3O9BZ1JOPFJka+MPgtDDHUbJ3KKK TzQoxhsMwI61tXoWdWBPGqKw3RoRVqLSoqbdu+Uhg6ApOPDvvkXYSBzm/VLIZfEY/pnO cQ9dEE7MJVx4z1z7utydvbpudnTQx49MHxfU2kgisdrsc+fBITZfz9IS6gY6TvRdm+6x b70w43KwOZdaq1ux7qEoNr+HpnGlegWrPUbYM3sKsauYoRv/38e1WmqB0yu0PocnVJb7 GQYGje94iMlHJ4dByadhcPACQY0hEDIUsJcciD3oFaRGFGpAo95+mcTCy0z33fxyPYmC Ny8w== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=wQDoiaST; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of christian.storm@siemens.com designates 40.107.15.74 as permitted sender) smtp.mailfrom=christian.storm@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150074.outbound.protection.outlook.com. [40.107.15.74]) by gmr-mx.google.com with ESMTPS id v19-20020a2ea453000000b00261c5a3061csi421314ljn.3.2022.08.29.10.29.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Aug 2022 10:29:21 -0700 (PDT) Received-SPF: pass (google.com: domain of christian.storm@siemens.com designates 40.107.15.74 as permitted sender) client-ip=40.107.15.74; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EnW4tY/AkyunEScqh3RfFG2WTZB0j8Rqrq9GOq5bqI2YeAq8IawS3aAmkoKmlyQlH1cxPbInqyJCuUH5AuDbl7Bdjk9XSpGNFLf48Hw08GyXlDXGYla6ucOMy6LlJ2Bb85D/PbwuAYUbJcMbA22fuvKVJzf8DNyl7M1zINl8D+HPZJeaG/RCzszTUX2V6lfVksnOUHxfoWqYEYS6WsqlDx12u9r33y5duba5QmqRGpAanzhlIqTMUuMoDsf6HpqKZIPVk3JTWTGsMtAhpjQ2shrqYBcTSfuLZGdXmri5OijcgYujoWodL65JV2YFQpM5ufFS8uAFrESZktQ3R/jxGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FDUU5MNkVkjfYBu5HyAdaC9xS1hjrHAt5qFc5Z5rILY=; b=aJze29eZ5bGArPAp8u3VcIwvOO5hYi9Q0GAiILg5fbzZpgPm8gmprQ+LQS1opbSDoMbwME5AkG/R76/4qnuqbt4Vi23T1ZQF2Rbijyjyajjafrwb0vH4lgQtTmkqqObIBlo6bOqKWA7JGgVFN0LiGUwnjN52f0u6wQ3eaBZr4if4UVlOTjzBuftde/MaAFJRe8i5VlF9G7YandHlH0v2x331Dh+d0iDtgzbIaDIHAqByC+YJbi1I+iUDqzqAMv/Ok5aWV5nZLDWUShZhRE9TRl0ZBGzkZX1eAKAGBQlKx4OLP94toxDKk6cLxH2vtD8eUI9UY89dRrXbggCXpDmdZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.76) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none Received: from AM6P195CA0020.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::33) by GV1PR10MB6100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:9b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug 2022 17:29:20 +0000 Received: from VE1EUR01FT077.eop-EUR01.prod.protection.outlook.com (2603:10a6:209:81:cafe::87) by AM6P195CA0020.outlook.office365.com (2603:10a6:209:81::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 17:29:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.76) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.76 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.76; helo=hybrid.siemens.com; pr=C Received: from hybrid.siemens.com (194.138.21.76) by VE1EUR01FT077.mail.protection.outlook.com (10.152.3.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend Transport; Mon, 29 Aug 2022 17:29:19 +0000 Received: from DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) by DEMCHDC8VSA.ad011.siemens.net (194.138.21.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.12; Mon, 29 Aug 2022 19:29:19 +0200 Received: from cosmos.fritz.box.net (139.22.41.254) by DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.9; Mon, 29 Aug 2022 19:29:19 +0200 From: Christian Storm To: CC: Christian Storm Subject: [swupdate] [PATCH] Use update_transaction_state() also for streaming mode Date: Mon, 29 Aug 2022 19:30:26 +0200 Message-ID: <20220829173026.83133-1-christian.storm@siemens.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 X-Originating-IP: [139.22.41.254] X-ClientProxiedBy: DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) To DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a0e723ba-a101-425b-57df-08da89e4018e X-MS-TrafficTypeDiagnostic: GV1PR10MB6100:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: S0HVs5YdDsZhRGdH/BElEWwK4b3N2k3gLm7fp/bOjjMCdmUJre4CVodGtmcCy2w+CwYWSRZLR/JBO4Hy/leuqzpDm9O+ufoNPwlelZXmQN6xMgg4EX1VEfER2I9o4Bjxr0rkzupOrJvbFGq35872Nb5qW+5MtMw/aPoKro/BSgzFdjE0eZH3i6IrufJGFl7jk6hAA9WQLuF+6u7Gv0w+qfHteqR0IG2ipQA5aaLTsgsB8Uo/FH178saOMpsetqjJvKoSV7kW7GN5H0ckhlyWimBmKmqHOeoqfHF8PTyrII9xSU5xbOjI5Dvgwk2B7+kA+HKs65lf68j2jFHg6CjAuYdS7TCZ98LGNaofRhXdS1ECU2Bn+r6iwq1QJE2rVXF7yEEsz/esH8+MhQYI7wrnNgiOyLH/6gFjPw4ldfG8Zs4sjda/NYkn16etKmxTMxZp6hjjmvlev2tpqwIqvKvtPsSmLnFRrFri5YZKAgm7WhCBsuW3jwPO0zVHfg5LFMKOmKdATVMUFnzPYjb1BmlS5CrjOaGUVYVBdA3ehow+51tp1dEp4245mmyxuvmayaEWoKB/ctvLbUL1dee8qyDPgGy2zHSB98n4wmKuMss1BcT7ea2x4pdxuWFZPEPBzEGH4r+LV1Tkq5iWYSQHdIBWTsQmDHDqquUkBeYahDBZhWBTqmcBj+D7Z7ByHENpLl3xdQUTwfWx9imSBG3Uhu3ZdvM//4ZFv0xpsrrbIghDCpKL7QjGhP/u4phFB/57LTDYCAObKa7Gt0taoP9+kbUAyry+t6JTCMEa+rGx/5QlCxVyA6OTzBeKN4p3nqQzGF9G X-Forefront-Antispam-Report: CIP:194.138.21.76;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(136003)(396003)(346002)(376002)(36840700001)(40470700004)(46966006)(40480700001)(36860700001)(82310400005)(356005)(86362001)(40460700003)(82960400001)(82740400003)(81166007)(4326008)(8676002)(70586007)(70206006)(478600001)(41300700001)(5660300002)(8936002)(47076005)(316002)(6916009)(186003)(2616005)(1076003)(16526019)(336012)(956004)(83380400001)(2906002)(26005)(44832011)(6666004)(15650500001)(107886003)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 17:29:19.7376 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0e723ba-a101-425b-57df-08da89e4018e X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;Ip=[194.138.21.76];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR01FT077.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6100 X-Original-Sender: christian.storm@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=wQDoiaST; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of christian.storm@siemens.com designates 40.107.15.74 as permitted sender) smtp.mailfrom=christian.storm@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Commit b469cbe introduced update_transaction_state() to centralize update state handling. Also use this method when streaming. Signed-off-by: Christian Storm Reviewed-by: Stefano Babic --- core/stream_interface.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/core/stream_interface.c b/core/stream_interface.c index d8d3934..81c26c3 100644 --- a/core/stream_interface.c +++ b/core/stream_interface.c @@ -117,6 +117,23 @@ static int extract_file_to_tmp(int fd, const char *fname, unsigned long *poffs, return 0; } +static bool update_transaction_state(struct swupdate_cfg *software, update_state_t newstate) +{ + if (!software->parms.dry_run && software->bootloader_transaction_marker) { + if (newstate == STATE_INSTALLED) + bootloader_env_unset(BOOTVAR_TRANSACTION); + else + bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(newstate)); + } + if (!software->parms.dry_run + && software->bootloader_state_marker + && save_state(newstate) != SERVER_OK) { + WARN("Cannot persistently store %s update state.", get_state_string(newstate)); + return false; + } + return true; +} + static int extract_files(int fd, struct swupdate_cfg *software) { int status = STREAM_WAIT_DESCRIPTION; @@ -254,9 +271,7 @@ static int extract_files(int fd, struct swupdate_cfg *software) * just once */ if (!installed_directly) { - if (!software->parms.dry_run && software->bootloader_transaction_marker) { - bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(STATE_IN_PROGRESS)); - } + update_transaction_state(software, STATE_IN_PROGRESS); installed_directly = true; } @@ -495,23 +510,6 @@ no_copy_output: return ret; } -static bool update_transaction_state(struct swupdate_cfg *software, update_state_t newstate) -{ - if (!software->parms.dry_run && software->bootloader_transaction_marker) { - if (newstate == STATE_INSTALLED) - bootloader_env_unset(BOOTVAR_TRANSACTION); - else - bootloader_env_set(BOOTVAR_TRANSACTION, get_state_string(newstate)); - } - if (!software->parms.dry_run - && software->bootloader_state_marker - && save_state(newstate) != SERVER_OK) { - WARN("Cannot persistently store %s update state.", get_state_string(newstate)); - return false; - } - return true; -} - void *network_initializer(void *data) { int ret;