summaryrefslogtreecommitdiff
path: root/src/gpt-auto-generator/gpt-auto-generator.c
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@gmail.com>2015-04-11 01:52:50 +0200
committerLennart Poettering <lennart@poettering.net>2015-04-12 20:00:21 +0200
commiteafe88e34a0698d2f4ebb747ab4911e35d0dfe4c (patch)
treec25f9b1a9407ce4e08e2b6630ab4642c92b722a8 /src/gpt-auto-generator/gpt-auto-generator.c
parent9f1a574d50c1ffd19f18805cc8a3a433c4f2da37 (diff)
gpt-generator: Find device on a stateless system
A stateless system has a tmpfs as root file system. That obviously does not have any block device associated with it. So try falling back to the device of the /usr filesystem if the root filesystem fails.
Diffstat (limited to 'src/gpt-auto-generator/gpt-auto-generator.c')
-rw-r--r--src/gpt-auto-generator/gpt-auto-generator.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index 99dc50fe3c..96a8447efd 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -658,8 +658,13 @@ static int add_mounts(void) {
if (r < 0)
return log_error_errno(r, "Failed to determine block device of root file system: %m");
else if (r == 0) {
- log_debug("Root file system not on a (single) block device.");
- return 0;
+ r = get_block_device("/usr", &devno);
+ if (r < 0)
+ return log_error_errno(r, "Failed to determine block device of /usr file system: %m");
+ else if (r == 0) {
+ log_debug("Neither root nor /usr file system are on a (single) block device.");
+ return 0;
+ }
}
return enumerate_partitions(devno);