[{"id":3683497,"web_url":"http://patchwork.ozlabs.org/comment/3683497/","msgid":"<CAFLszTgnQuEN3m8yyC_upE=tucO93O4Lb9SwMmBzqAxE9TuDQA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-28T14:11:40","subject":"Re: [PATCH v3 10/10] env: ubi: add support to create environment\n volume if it does not exist","submitter":{"id":6170,"url":"http://patchwork.ozlabs.org/api/people/6170/","name":"Simon Glass","email":"sjg@chromium.org"},"content":"Hi Weijie,\n\nOn 2026-04-27T07:09:11, Weijie Gao <weijie.gao@mediatek.com> wrote:\n> env: ubi: add support to create environment volume if it does not exist\n>\n> Add an option to allow environment volume being auto created if not\n> exist.\n>\n> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>\n>\n> env/Kconfig | 11 +++++++++++\n>  env/ubi.c   | 35 ++++++++++++++++++++++++++++++++++-\n>  2 files changed, 45 insertions(+), 1 deletion(-)\n\n> diff --git a/env/Kconfig b/env/Kconfig\n> @@ -699,6 +699,17 @@ config ENV_UBI_VOLUME_REDUND\n> +config ENV_UBI_VOLUME_CREATE\n> +     bool \"Create UBI volume if not exist\"\n> +     depends on ENV_IS_IN_UBI\n> +     help\n> +       This option is useful if u-boot will be booted from a fresh device\n> +       where environment volume hasn't been created in the UBI partition.\n> +       This is a common case where factory UBI image contains only volumes\n> +       with valid data.\n> +       By enabling this option, environment volume(s) will be created before\n> +       loading if not exist.\n\nPlease use 'U-Boot' rather than 'u-boot' and tidy the grammar (e.g.\n'if it does not exist', 'where the environment volume has not been\ncreated', 'any missing environment volumes will be created before\nloading'). Also mention that with CONFIG_ENV_REDUNDANT both volumes\nare created.\n\n> diff --git a/env/ubi.c b/env/ubi.c\n> @@ -134,6 +151,15 @@ static int env_ubi_load(void)\n> +     if (IS_ENABLED(CONFIG_ENV_UBI_VOLUME_CREATE)) {\n> +             create1_fail = env_ubi_volume_create(CONFIG_ENV_UBI_VOLUME);\n> +             create2_fail = env_ubi_volume_create(CONFIG_ENV_UBI_VOLUME_REDUND);\n> +             if (create1_fail && create2_fail) {\n> +                     env_set_default(NULL, 0);\n> +                     return -ENODEV;\n> +             }\n> +     }\n\nJust to clarify the intent: if only one creation fails, this falls\nthrough and the subsequent ubi_volume_read() prints 'Unable to read\nredundant env from ...' which is confusing on a fresh device. Clearer\nto fail (or print a dedicated message) as soon as either creation\nfails - what do you think?\n\n> diff --git a/env/ubi.c b/env/ubi.c\n> @@ -105,12 +105,29 @@ static int env_ubi_save(void)\n> +     ret = ubi_create_vol(volume, CONFIG_ENV_SIZE, true, UBI_VOL_NUM_AUTO,\n> +                          false);\n\nThe dynamic flag is hard-coded to true. Sensible default, but please\nmention the choice in the commit message or Kconfig help.\n\nThe commit message is quite terse - normally we like to see a\nmotivation (fresh device with a factory UBI image lacking the env\nvolume) - also note that for CONFIG_ENV_REDUNDANT both volumes are\ncreated.\n\nRegards,\nSimon","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=J6mcQ3Qh;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org\n header.b=\"J6mcQ3Qh\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org","phobos.denx.de;\n spf=pass smtp.mailfrom=sjg@chromium.org"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4j6m18tlz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 00:12:00 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 1457E84693;\n\tTue, 28 Apr 2026 16:11:58 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 298FF84605; Tue, 28 Apr 2026 16:11:57 +0200 (CEST)","from mail-ej1-x632.google.com (mail-ej1-x632.google.com\n [IPv6:2a00:1450:4864:20::632])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id ACFD88466D\n for <u-boot@lists.denx.de>; Tue, 28 Apr 2026 16:11:52 +0200 (CEST)","by mail-ej1-x632.google.com with SMTP id\n a640c23a62f3a-ba6838e76f2so1187522166b.2\n for <u-boot@lists.denx.de>; Tue, 28 Apr 2026 07:11:52 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2","ARC-Seal":"i=1; a=rsa-sha256; t=1777385512; cv=none;\n d=google.com; s=arc-20240605;\n b=e5m8o23a6OOjc9RICfWvJBt/Jg7Col0YCX3QL/8XjOHLeCAvCl47j0VfEHYWMd9CDn\n PWWV3BotAUvVU+k6nWikCuEct5ak1WPoccvqhVf65+PKecM1Uv1c+II8tjAUUxHT4LRp\n d7B+J1gQgIjqCj366v4NNQgCp2ZMxKKsYtKQedb3Y22GWJZG2wAwd8sOka/E1z2MidZe\n 8xnPqrKxaihZCXgyiR+6vRadlE4nzfiTuAJlLsYqaE4U49hSsiGBYm/nxQBkAzuD2Tcj\n 4i9zUrx61g0YSvPo4UYXcRxZ1xKb/rrZSHQQttnlHs/6Es6eaySszy7gss8fBO6s7ioy\n i/jw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:dkim-signature;\n bh=kE6qjtL466KvQxFJ/b88spzGuIBVeojkJgJNr3iWeoo=;\n fh=fJAGB8LvxCJalDRE+ziaXIW21+gD5jSCb0B1QEwHsvE=;\n b=H1Z32lmtPtLrLwkGjdR87v+g5FP4Qf3A6F5oPG95n3PzSu+EyTGJ41MoTNukjR+otw\n 7Gw3OSSkHd8wDeErc6880JDh78PX2jskfxYjaf+n9S5ZOyiBgdpoTitPD7erDvZ+Jav8\n 2EYw6NvfcfQ7XLnT5Ws5tGsLDs7+a7VL5ZUhQIac6vtJyQNgRt7mY1VMWlzbW54Lf180\n FihO+wjiAyJdyko9Py1aa45iWfPRMwhQwtu2FfgCER351euGgOTkiDcAUUz1k+LHdHgh\n z6LUauytFnYNVT5aca4dJ6xOztM8Hn8yN3aHVunpkPXvFhQo+e9vT+qe1GsZvAhkNSFc\n C7Tg==; darn=lists.denx.de","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=chromium.org; s=google; t=1777385512; x=1777990312; darn=lists.denx.de;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=kE6qjtL466KvQxFJ/b88spzGuIBVeojkJgJNr3iWeoo=;\n b=J6mcQ3Qhb1sjctVB/GygOKvhyMWKLh3l25754+n2OEc7kH3r52ZFKIgfFszdBFPMNa\n TiDIKvJxCZKNFRCQ2iv16d2Km724HpZbaneNd15WQQfjRPMxqmRtZW9wALFosk+O6Lnw\n HUaG+o8MIWWfyb3ZCygNU8lNpDCmmJn2R2PLg=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777385512; x=1777990312;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=kE6qjtL466KvQxFJ/b88spzGuIBVeojkJgJNr3iWeoo=;\n b=Ej4TS5beCxz1pXDIgl5RnYjzErXvmvTb9PnZ0bF2ecRlgI6hCDljZMzBfzVAoXgDRC\n QjEPvUIT+ExtOwdjbEfryK6vzMZY1WMxDqEnjeTxXheJ0QwAqxTzzgMkIm5GIbXl1949\n cFMTQpJP3AyhBZOJL0EbYTYGniN2EK0EB+TU+gkqymdq85ByM9s1mHM8e3paKN85awFD\n BG2C/hGmEJw/gX/EnlylZflEgJWn0v41xi8/2btEbUdD6PBTjoFLMR27MY2fWksjPDxW\n 8Ys/SEOgxwbRr77G1RnY4GlFUOIkyOgRUHqPNMhci9Cy7oa3SvsHyw1xiwS7HcvWf/K6\n 772g==","X-Gm-Message-State":"AOJu0Yx8FdYM9U+24Dff+zcNfJuHAQrXlUVJAURft1HTKoKOZhyaUXlI\n Y0KkS1P30/VC4A69kfRfGuNbw2TUWdmHpqO77RM3Cjs5fr5nqJUUU+b5L+izfcOuptLL3WJG6qZ\n etYHfjarS5nUQLQUeFDYnPkGgrKTUBy1qUOalu2ft2qtGb8P0JLo=","X-Gm-Gg":"AeBDieuB6tmkONw+NVvkRw8txQaf0YvRoTBbLzqa/7j36P8TcQPVa4AKDNGdpnfJFdx\n 1jnZMcZLZJpzEXnnuA8MdqlxJV+3prg0h4ZONn/5aMg4Tl6Oj4psRW76SaGZmhXFJ7/R0+RWgTS\n B7Upl0tDMdeDT95geI0wv13YTrahqyMBeVKxW2SW4gbqDE1zeRxt7yrheypC5S7ocuYSpBnVBPJ\n 3lQ0Ipvojh3baLhlsmY09r0jDv5oiK4IrXziK3GU5JTDFSf2ub64v3RMOEQ+LN8QKsGDap8WcEg\n 8Gr4zUSwz6CE/ScWTvnmDRAKVCM=","X-Received":"by 2002:a17:906:4796:b0:baa:93ac:bd94 with SMTP id\n a640c23a62f3a-bb801ad7130mr195909066b.16.1777385512079; Tue, 28 Apr 2026\n 07:11:52 -0700 (PDT)","MIME-Version":"1.0","References":"<cover.1777272283.git.weijie.gao@mediatek.com>\n <d7ec0e5d655f8c2f1d159908f74d00927d7a0776.1777272283.git.weijie.gao@mediatek.com>","In-Reply-To":"\n <d7ec0e5d655f8c2f1d159908f74d00927d7a0776.1777272283.git.weijie.gao@mediatek.com>","From":"Simon Glass <sjg@chromium.org>","Date":"Tue, 28 Apr 2026 08:11:40 -0600","X-Gm-Features":"AVHnY4IDUf_zF6BwmofM3mNzhKN1zkQQOo7FlxhwoaEm9x2FYd0x445IHMK1-GQ","Message-ID":"\n <CAFLszTgnQuEN3m8yyC_upE=tucO93O4Lb9SwMmBzqAxE9TuDQA@mail.gmail.com>","Subject":"Re: [PATCH v3 10/10] env: ubi: add support to create environment\n volume if it does not exist","To":"weijie.gao@mediatek.com","Cc":"u-boot@lists.denx.de","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"}}]