f = fopen(unit, "wxe");
if (!f) {
r = -errno;
- log_error("Failed to create unit file %s: %m", unit);
+ if (errno == EEXIST)
+ log_error("Failed to create swap unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit);
+ else
+ log_error("Failed to create unit file %s: %m", unit);
goto finish;
}
return r;
}
+static bool mount_is_bind(struct mntent *me) {
+ assert(me);
+
+ return
+ hasmntopt(me, "bind") ||
+ streq(me->mnt_type, "bind");
+}
+
static bool mount_is_network(struct mntent *me) {
assert(me);
return 0;
isnetwork = mount_is_network(me);
- isbind = !!hasmntopt(me, "bind");
+ isbind = mount_is_bind(me);
noauto = !!hasmntopt(me, "noauto");
nofail = !!hasmntopt(me, "nofail");
f = fopen(unit, "wxe");
if (!f) {
r = -errno;
- log_error("Failed to create unit file %s: %m", unit);
+ if (errno == EEXIST)
+ log_error("Failed to create mount unit file %s, as it already exists. Duplicate entry in /etc/fstab?", unit);
+ else
+ log_error("Failed to create unit file %s: %m", unit);
goto finish;
}