[PATCH] state: make first boot with uninitialized legacy state less verbose
Ahmad Fatoum
ahmad at a3f.at
Sun Nov 28 23:22:35 PST 2021
With non-legacy state, barebox checks a header for a specific magic
signature. This can be all zero on an uninitialized state, so in that
particular case, bump down the log message severity.
Signed-off-by: Ahmad Fatoum <ahmad at a3f.at>
---
Applies on top of https://lore.barebox.org/barebox/20211125161042.3829996-3-a.fatoum@pengutronix.de/
---
common/state/backend_bucket_direct.c | 4 ++--
common/state/backend_storage.c | 7 +++++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/common/state/backend_bucket_direct.c b/common/state/backend_bucket_direct.c
index 517aec60634b..117cdfb46c9e 100644
--- a/common/state/backend_bucket_direct.c
+++ b/common/state/backend_bucket_direct.c
@@ -76,9 +76,9 @@ static int state_backend_bucket_direct_read(struct state_backend_storage_bucket
if (meta.magic != ~0 && !!meta.magic)
bucket->wrong_magic = 1;
if (!IS_ENABLED(CONFIG_STATE_BACKWARD_COMPATIBLE)) {
- dev_err(direct->dev, "No meta data header found\n");
dev_dbg(direct->dev, "Enable backward compatibility or increase stride size\n");
- return -EINVAL;
+ return dev_err_state_init(direct->dev, meta.magic ? -EINVAL : -ENOMEDIUM,
+ "No meta data header found\n");
}
read_len = direct->max_size;
if (lseek(direct->fd, direct->offset, SEEK_SET) !=
diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c
index 72f8bcf521ad..c55d22e37f70 100644
--- a/common/state/backend_storage.c
+++ b/common/state/backend_storage.c
@@ -156,10 +156,13 @@ int state_storage_read(struct state_backend_storage *storage,
totalbuckets++;
ret = bucket->read(bucket, &bucket->buf, &bucket->len);
- if (ret == -EUCLEAN)
+ if (ret == -EUCLEAN) {
bucket->needs_refresh = 1;
- else if (ret)
+ } else if (ret) {
+ if (ret == -ENOMEDIUM)
+ zerobuckets++;
continue;
+ }
/*
* Verify the buffer crcs. The buffer length is passed in the len argument,
--
2.33.0
More information about the barebox
mailing list