summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-01-05 17:21:25 +0100
committerJo-Philipp Wich <jo@mein.io>2020-01-05 17:41:25 +0100
commit823faa0f3edb93fac528bc35588cea81f0a77146 (patch)
treed0ff137b6a1787a98d7513b46ee58a596451bc30
parentb4e25d54035c5092e8e9b46ab63500e95ac8c730 (diff)
downloadfstools-823faa0f3edb93fac528bc35588cea81f0a77146.tar.gz
block: re-discover mtd devices on extroot mount retry
When retrying extroot mounting after waiting for the underlying device to appear, the internal device cache was rebuilt without mtd devices, leading to the following error: block: extroot: unable to lookup root device /dev/... The extroot mount procedure needs access to the actual mtd root device to temporarily mount it for uuid file verification. Fix this error by rebuilding the cache with mtd devices to allow the `check_extroot()` procedure to find the internal root device. Fixes: FS#2701 Fixes: fb0700f ("block: support hierarchical mount/umount") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--block.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block.c b/block.c
index b6d49a8..50d877f 100644
--- a/block.c
+++ b/block.c
@@ -1543,7 +1543,7 @@ static int mount_extroot(char *cfg)
ULOG_INFO("extroot: device not present, retrying in %u seconds\n", delay_root);
sleep(delay_root);
make_devs();
- cache_load(0);
+ cache_load(1);
dev = find_block_device(m->uuid, m->label, m->device);
}
if (dev) {