mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Juergen Borleis <jbe@pengutronix.de>
To: barebox@lists.infradead.org
Subject: [PATCH 2/4] envfs: provide an intentional way to ignore an existing external environment
Date: Thu, 31 Jul 2014 12:39:01 +0200	[thread overview]
Message-ID: <1406803143-27630-3-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1406803143-27630-1-git-send-email-jbe@pengutronix.de>

Add a simple flag to envfs to be able to mark an external environment as
"not to be used".
This change should not affect existing systems, because the current envfs
implementation ensures the 'flags' member in the envfs master block is always
zeroed.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
---
 common/environment.c | 13 +++++++++++++
 include/envfs.h      |  1 +
 2 files changed, 14 insertions(+)

diff --git a/common/environment.c b/common/environment.c
index 2d1edf8..613342c 100644
--- a/common/environment.c
+++ b/common/environment.c
@@ -447,6 +447,19 @@ int envfs_load(const char *filename, const char *dir, unsigned flags)
 	if (ret)
 		goto out;
 
+	if (super.flags & ENVFS_FLAGS_FORCE_BUILT_IN) {
+#ifdef __BAREBOX__
+		if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT)) {
+			ret = defaultenv_load("/env", 0);
+			if (ret)
+				perror("envfs: forced built-in default environment");
+			else
+				printf("envfs: force built-in default environment\n");
+			goto out;
+		}
+#endif
+	}
+
 	buf = xmalloc(size);
 
 	rbuf = buf;
diff --git a/include/envfs.h b/include/envfs.h
index 9b86398..beae38a 100644
--- a/include/envfs.h
+++ b/include/envfs.h
@@ -43,6 +43,7 @@ struct envfs_super {
 	uint8_t minor;			/* minor */
 	uint16_t future;		/* reserved for future use */
 	uint32_t flags;			/* feature flags */
+#define ENVFS_FLAGS_FORCE_BUILT_IN	(1 << 0)
 	uint32_t sb_crc;		/* crc for the superblock */
 };
 
-- 
2.0.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2014-07-31 10:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-31 10:38 [PATCH v2] " Juergen Borleis
2014-07-31 10:39 ` [PATCH 1/4] saveenv: make clear how to use the command's parameters Juergen Borleis
2014-07-31 10:39 ` Juergen Borleis [this message]
2014-07-31 10:39 ` [PATCH 3/4] envfs: change API to be able to forward special flags into the envfs superblock Juergen Borleis
2014-07-31 10:39 ` [PATCH 4/4] saveenv: provide a zeroed/empty/ignore environment Juergen Borleis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1406803143-27630-3-git-send-email-jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox