summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fstab-generator/fstab-generator.c11
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();