diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-04-22 15:33:43 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-04-22 15:33:43 +0200 |
commit | e0295d2651cff034ab8200156f1ece06154b7bbc (patch) | |
tree | 237a6241ce0e5f6d9b92c1c427722acd264cdeea /src | |
parent | 59e132a7f416d7c4a33a46d791f250e03d2c2cd0 (diff) |
mount: don't fail if fstab doesn't exist
Diffstat (limited to 'src')
-rw-r--r-- | src/core/mount.c | 5 | ||||
-rw-r--r-- | src/cryptsetup/cryptsetup.c | 3 | ||||
-rw-r--r-- | src/remount-api-vfs/remount-api-vfs.c | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index 760ffcdbf6..dbd4893bcb 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -1537,8 +1537,9 @@ static int mount_load_etc_fstab(Manager *m) { assert(m); errno = 0; - if (!(f = setmntent("/etc/fstab", "r"))) - return -errno; + f = setmntent("/etc/fstab", "r"); + if (!f) + return errno == ENOENT ? 0 : -errno; while ((me = getmntent(f))) { char *where, *what; diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index f214d60d56..3ff0ddf2cc 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -190,7 +190,8 @@ static char *disk_mount_point(const char *label) { if (asprintf(&device, "/dev/mapper/%s", label) < 0) goto finish; - if (!(f = setmntent("/etc/fstab", "r"))) + f = setmntent("/etc/fstab", "r"); + if (!f) goto finish; while ((m = getmntent(f))) diff --git a/src/remount-api-vfs/remount-api-vfs.c b/src/remount-api-vfs/remount-api-vfs.c index 6cb77c1d1a..373ae25520 100644 --- a/src/remount-api-vfs/remount-api-vfs.c +++ b/src/remount-api-vfs/remount-api-vfs.c @@ -56,6 +56,11 @@ int main(int argc, char *argv[]) { f = setmntent("/etc/fstab", "r"); if (!f) { + if (errno == ENOENT) { + ret = EXIT_SUCCESS; + goto finish; + } + log_error("Failed to open /etc/fstab: %m"); goto finish; } |