summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-04-05 11:26:58 +0200
committerAnthony G. Basile <blueness@gentoo.org>2015-04-12 18:59:02 -0400
commit88113c8b3f914766add73ff7a7976eced1534c14 (patch)
treeb02915934c8c48b0d889024ff89623e5b278aa04
parentea18efb8e7b71efb5929e568e087ad27290fce20 (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.c15
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);
}