diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c index c619b3e..3c2fdd9 100644 --- a/src/barebox-state/backend_storage.c +++ b/src/barebox-state/backend_storage.c @@ -269,6 +269,7 @@ ssize_t end = dev_offset + max_size; int nr_copies = 0; off_t offset; + ssize_t writesize; if (!end || end > meminfo->size) end = meminfo->size; @@ -279,15 +280,16 @@ return -EINVAL; } + if (circular) + writesize = meminfo->writesize; + else + writesize = meminfo->erasesize; + for (offset = dev_offset; offset < end; offset += meminfo->erasesize) { int ret; - ssize_t writesize = meminfo->writesize; unsigned int eraseblock = offset / meminfo->erasesize; bool lazy_init = true; - if (!circular) - writesize = meminfo->erasesize; - ret = state_backend_bucket_circular_create(storage->dev, path, &bucket, eraseblock,