X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ffstab-generator%2Ffstab-generator.c;h=a9a5c0203f2cb8276a1486b1d2b809cad0d87efb;hb=b0d14c69b2907798ffde32b49b4f28a90242dbb7;hp=34cd720517d7ea260d1330b0110534dc37fe0aea;hpb=5ecdcf41cbce38c44b399993cb1c356280e0bafd;p=elogind.git diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 34cd72051..a9a5c0203 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();