diff options
Diffstat (limited to 'src/fstab-generator')
-rw-r--r-- | src/fstab-generator/fstab-generator.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 34cd720517..a9a5c0203f 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -35,6 +35,7 @@ #include "fileio.h" #include "generator.h" #include "strv.h" +#include "virt.h" static const char *arg_dest = "/tmp"; static bool arg_fstab_enabled = true; @@ -77,6 +78,11 @@ static int add_swap(const char *what, struct mntent *me) { assert(what); assert(me); + if (detect_container(NULL) > 0) { + log_info("Running in a container, ignoring fstab swap entry for %s.", what); + return 0; + } + r = mount_find_pri(me, &pri); if (r < 0) { log_error("Failed to parse priority"); @@ -341,6 +347,11 @@ static int parse_fstab(bool initrd) { if (!what) return log_oom(); + if (detect_container(NULL) > 0 && is_device_path(what)) { + log_info("Running in a container, ignoring fstab device entry for %s.", what); + continue; + } + where = initrd ? strappend("/sysroot/", me->mnt_dir) : strdup(me->mnt_dir); if (!where) return log_oom(); |