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@xxxxxx> --- Applies on top of https://lore.barebox.org/barebox/20211125161042.3829996-3-a.fatoum@xxxxxxxxxxxxxx/ --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox