From patchwork Sat Aug 1 18:15:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Liu X-Patchwork-Id: 1339827 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::13a; helo=mail-lf1-x13a.google.com; envelope-from=swupdate+bncbcw3fspl7ucrbtpbs34qkgqept3bgtq@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=rDZ2hlUC; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=imC+tX6K; dkim-atps=neutral Received: from mail-lf1-x13a.google.com (mail-lf1-x13a.google.com [IPv6:2a00:1450:4864:20::13a]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BJshy300Gz9sRK for ; Sun, 2 Aug 2020 04:13:38 +1000 (AEST) Received: by mail-lf1-x13a.google.com with SMTP id i6sf6871358lfd.13 for ; Sat, 01 Aug 2020 11:13:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1596305614; cv=pass; d=google.com; s=arc-20160816; b=qzzUFgg1rQpauVY9zzQwv+WuNxmDwztbaAYTUXGHj5gTbHV/OeIgTWVd0CpwLmoYn9 3RpQ4Ov0FLidYuXCM2xfCB1/1B/wEK0IHnowSFLfzn3XcbNVIjRD2uORbiNdh+pRI8ge tX9bqPZ+0KpKmAxcgJ3oD2pLDFvPAbdrmyxsYx6RqB/NGtKT+tmAw1Iar9a8F7A5zPmR yWpVrsBIWaibxdNHMh8DBU6feVvo9QBTZ1F0OqC8DHusaWnM3GHe0stXUOwK1Oq641/9 0v4RNwjJN+s3RH6Idhf4fsVHb5zd2sdttS1wJ9NO6clfbIWkdy07+MsSI72ZZtL0mXdT sgeQ== ARC-Message-Signature: i=2; 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:dkim-signature; bh=BV3XoJfhr832Y7jMaQFkW8KoQ3lVp32Kwvv441/H3Lc=; b=Q+iO6XgwMdPIs2Kq3D4acHJGVePqbsEXJ0dRiTbjt/MsCXADJxVsOO9+vcOkpbS770 0M64utxciJkfWxYgHxaHsac5ifRXDOYAP/hfN5NnjqH8tdXrCdLSxUlePKlvbX6fkou7 D7HD9BqazLZbIi4tCZTX4bJ6UpicEV6TfTCWFq3oKrdRSDZ2wUXeNNC/b9tqO0thPgzU vTS4pyA7hoH3nSztcXe+V++bpfiJnmKTzhcO/A698GZ8AkWTttW0DQg5/vsgQV68JyX4 3EzEviKGHK/vkrBsFhZM0/FV1Xuxv0ypR+xsRh3jh8Kq+03AhkJJkdVFPz6OOU286pMw Jrrg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=K3KjvbKf; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::641 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=BV3XoJfhr832Y7jMaQFkW8KoQ3lVp32Kwvv441/H3Lc=; b=rDZ2hlUCgWOu1yX0bLgD0uPmXAQRs4xK8up7oyx3WbZgtxX3ZdMNVdeE1mhQY7OW8v hF6DXPfEqtXC23yaTCFmnvOaMJJZ8ay2vQs8w21kyFhIitCDgYqAD8qEGgRBDAnA9YRs 3V0vNLocJBfTXXA1mK/prA+N6+4N6FQJc9j1/Q39Mu71FCzx1EYkOkklfYh79juwQijM 2AD4uAKlVxTIxSzHqSCYkn4r+/EwPmd+4LV+sfWauQShmYzCQWia7SbxMnKosqt9IkND NC1Zk5BXbfjWCsGkclORwCX90k8UInzxsopI+fby/1EfKu+MxbUewqGD7IYwlix9qZY/ 33LQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=BV3XoJfhr832Y7jMaQFkW8KoQ3lVp32Kwvv441/H3Lc=; b=imC+tX6KAWUYYquvtTJXmuOKtQsChfKxxsyp3yoMrj78usGrHclqA9LfG3Exuf6m3s 6Gmf1YconyqQXLkxMgqLr7Jgu4NDu53dnA4VwD1hS+9jwstF+Lm4ZqtgT+WpUCVHef02 C3BhkgHiWESc54B6ZgE3zFFNXNy7AXrwHe+1qs8MOFuYnQ2QvRsHM59Ix4LbycwaJt2j E4dLr2cGQTi4MTcg6n/1un/RzpmNoJXr2UQMBB90a4qJMi3VJUb4+h6rtVOzDmceahUy 5IaMrZYzoHJNNxpLPlAZj1Cb1T+GR6iUwK4vK2B4fQ+lc/es9vGuwFosWiEVee+whTGc z0Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=BV3XoJfhr832Y7jMaQFkW8KoQ3lVp32Kwvv441/H3Lc=; b=c7NUhOu4FtgeYnhFJgZuY47WMS0SQUxh69YuOWeOXr759hjPTfJ+RTyRNQXzxQ1AIc G77P3XehtCiJxaiKt8htZFpdc4AhfvNHjcrnGSHWfvxEq6VQTdP4sd2ykbbeMmfvfn55 qT7bv5h9/FFAqITd4/Cf5LctdV5RksEjBr46Ks/HD2eTjVqhdBtjdErvL8BG6ya8ohui mtut2+RQgSUg77eQGkUlsE+dB/vqRGRyOGAN3p5OYYNIGt22fLVdTp4v5US49xRFxTl1 APi9Q1D8UmIaSMW3/wBitkpn7710qBbsXEvfmD1MkM4HG/MoVF1RHNpE6OjUMcUFfJb2 IViQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM531x4zIl/u5t2GLl74bJ/lRz9LLLShz5IHggbojfuSPxeNfwnM1g RfhsKAnzupLowKQHTtFhclo= X-Google-Smtp-Source: ABdhPJzOUtL23ybXXg34g68USKfkOW2yy0UfCw7p//WuqJ0crXLhXsAWblOg5BkLi96+eAd992ETwQ== X-Received: by 2002:a19:cc3:: with SMTP id 186mr4882708lfm.134.1596305614041; Sat, 01 Aug 2020 11:13:34 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a19:60e:: with SMTP id 14ls3729594lfg.0.gmail; Sat, 01 Aug 2020 11:13:33 -0700 (PDT) X-Received: by 2002:a19:cb51:: with SMTP id b78mr4774338lfg.130.1596305613256; Sat, 01 Aug 2020 11:13:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596305613; cv=none; d=google.com; s=arc-20160816; b=FprYRrfrC/uhULvLYKzsQxpPqHV6sWG9ZteixVyb8w6EeghnbAAJhh6p1BhFPXkkdy Zx+gH9uybYPLgz7t3grlGgosJE+Y9/gfE0SEfZrEkotysqrq12LPcnLvBOmoUiOI7I2U hvEif0l7bcOOWZfYeDn4AMPBq10QnuRLFnGg1L/uH794S5ossc3NmDA1NOQOsiwi0xU0 uTrCGtksZtIEEtaLyJvYzIqlJpjnVsDmQjxMYih/2jEE0MhU143mkId8APSGKI6cpCEj PGcg74gEJm29F8SdV/FK49XRnMJVXnoZ+eeUPqisg9GEUSm/1C1RYpRyIgGNXLHs9H7s SzGA== ARC-Message-Signature: i=1; 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=heYHXlqgzzYhBswYEuzZnwpzkxyBLrqwRUzs0anqX0I=; b=vbfwchqVdQHZyQ0YlokBLn7ufNoGEsJwN4VE82qIgb+1dJ04NSzzOVx1kRins76bpN QgmNoHnqtt5YKseBMLgyvTgpVzOVmUo4fXy0riwiZ+TKeJWklMd9N3SErJd5MM5MNK3A 5rQHnZOr6tPONPYddk5asTPqeKnNDDvMJAXZiSIQq1cf1xujOMg2eNBv95PcugfVWHiL Aise4R17vxIiVtTZx79KDLKD1JUgGjSuWwAyY41+O8egoO+wkW8iH4wG1dZXYseVdo93 F3ZspjgEtNUsru7I45jiBS8K9gE3wt59Bta+YuaDggjYoROgsNNRklDPCUMZCFFFAVi8 YNpw== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=K3KjvbKf; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::641 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com. [2a00:1450:4864:20::641]) by gmr-mx.google.com with ESMTPS id z26si822408lfe.5.2020.08.01.11.13.33 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 01 Aug 2020 11:13:33 -0700 (PDT) Received-SPF: pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::641 as permitted sender) client-ip=2a00:1450:4864:20::641; Received: by mail-ej1-x641.google.com with SMTP id d6so20749186ejr.5 for ; Sat, 01 Aug 2020 11:13:33 -0700 (PDT) X-Received: by 2002:a17:906:d217:: with SMTP id w23mr9904951ejz.292.1596305612637; Sat, 01 Aug 2020 11:13:32 -0700 (PDT) Received: from peterliu-Precision-7530.toradex.int (c-3ffb72d5.022-417-73746f13.bbcust.telenor.se. [213.114.251.63]) by smtp.gmail.com with ESMTPSA id m12sm10779310edv.94.2020.08.01.11.13.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 01 Aug 2020 11:13:32 -0700 (PDT) From: liu.ming50@gmail.com To: swupdate@googlegroups.com Cc: Ming Liu Subject: [swupdate] [libubootenv] [PATCH V3] Dont store to device if no value changes Date: Sat, 1 Aug 2020 20:15:45 +0200 Message-Id: <20200801181545.23452-1-liu.ming50@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-Original-Sender: Liu.ming50@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=K3KjvbKf; spf=pass (google.com: domain of liu.ming50@gmail.com designates 2a00:1450:4864:20::641 as permitted sender) smtp.mailfrom=liu.ming50@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.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: , From: Ming Liu Upstream-Status: Submitted When fw_setenv is called, it could happen that the new value is same with the old one, in which case, we should avoid storing data to device. Signed-off-by: Ming Liu --- src/fw_printenv.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/fw_printenv.c b/src/fw_printenv.c index 18887f9..80ed8cd 100644 --- a/src/fw_printenv.c +++ b/src/fw_printenv.c @@ -151,19 +151,31 @@ int main (int argc, char **argv) { } } } else { /* setenv branch */ + bool need_store = true; if (scriptfile) libuboot_load_file(ctx, scriptfile); else { for (i = 0; i < argc; i += 2) { - if (i + 1 == argc) - libuboot_set_env(ctx, argv[i], NULL); - else - libuboot_set_env(ctx, argv[i], argv[i+1]); + value = libuboot_get_env(ctx, argv[i]); + if (i + 1 == argc) { + if (value != NULL) + libuboot_set_env(ctx, argv[i], NULL); + else + need_store = false; + } else { + if (value == NULL || strcmp(value, argv[i+1]) != 0) + libuboot_set_env(ctx, argv[i], argv[i+1]); + else + need_store = false; + } } } - ret = libuboot_env_store(ctx); - if (ret) - fprintf(stderr, "Error storing the env\n"); + + if (need_store) { + ret = libuboot_env_store(ctx); + if (ret) + fprintf(stderr, "Error storing the env\n"); + } } libuboot_close(ctx);