diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-04-05 11:26:58 +0200 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2015-04-12 18:59:02 -0400 |
commit | 88113c8b3f914766add73ff7a7976eced1534c14 (patch) | |
tree | b02915934c8c48b0d889024ff89623e5b278aa04 | |
parent | ea18efb8e7b71efb5929e568e087ad27290fce20 (diff) |
path-util: don't eat up ENOENT in path_is_mount_point()
There's no reason to eat up ENOENT, it should be OK to simply report the
error back.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-rw-r--r-- | src/shared/path-util.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/shared/path-util.c b/src/shared/path-util.c index 6855937a10..9374582ae2 100644 --- a/src/shared/path-util.c +++ b/src/shared/path-util.c @@ -356,8 +356,6 @@ int fd_is_mount_point(int fd) { * mount point), otherwise fallback to the * traditional stat() logic */ nosupp = true; - else if (errno == ENOENT) - return 0; else return -errno; } @@ -397,12 +395,8 @@ int fd_is_mount_point(int fd) { fallback: r = fstatat(fd, "", &a, AT_EMPTY_PATH); - if (r < 0) { - if (errno == ENOENT) - return 0; - + if (r < 0) return -errno; - } r = fstatat(fd, "..", &b, 0); if (r < 0) @@ -419,18 +413,15 @@ fallback: int path_is_mount_point(const char *t, bool allow_symlink) { _cleanup_close_ int fd = -1; + assert(t); if (path_equal(t, "/")) return 1; fd = openat(AT_FDCWD, t, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|(allow_symlink ? 0 : O_PATH)); - if (fd < 0) { - if (errno == ENOENT) - return 0; - + if (fd < 0) return -errno; - } return fd_is_mount_point(fd); } |