diff options
author | Tobias Hunger <tobias.hunger@gmail.com> | 2015-04-11 01:52:50 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-04-12 20:00:21 +0200 |
commit | eafe88e34a0698d2f4ebb747ab4911e35d0dfe4c (patch) | |
tree | c25f9b1a9407ce4e08e2b6630ab4642c92b722a8 /src/gpt-auto-generator/gpt-auto-generator.c | |
parent | 9f1a574d50c1ffd19f18805cc8a3a433c4f2da37 (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.c | 9 |
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); |