summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-01-06 18:05:56 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-02-02 14:52:53 +0100
commita2f0da2de006c74bca64b3ce5b023e99bcca4498 (patch)
tree4b50397592d3beece97a7373c3dfa73343640b9e
parent7c63e5ed58fc5d0cf2653e614fee2765b495085a (diff)
downloadsystemd-a2f0da2de006c74bca64b3ce5b023e99bcca4498.tar.gz
stat-util: don't try to open path on path_is_temporary_fs()
I mean, the old code at least used O_PATH, but still, we shouldn't allocate/close an fd if we don't have to. (cherry picked from commit 15308e5083391f6a1b9ce25c5b7323f37544eab8)
-rw-r--r--src/basic/stat-util.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
index 41c92e69de..f999681636 100644
--- a/src/basic/stat-util.c
+++ b/src/basic/stat-util.c
@@ -226,13 +226,12 @@ int fd_is_network_fs(int fd) {
}
int path_is_temporary_fs(const char *path) {
- _cleanup_close_ int fd = -1;
+ struct statfs s;
- fd = open(path, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_PATH);
- if (fd < 0)
+ if (statfs(path, &s) < 0)
return -errno;
- return fd_is_temporary_fs(fd);
+ return is_temporary_fs(&s);
}
int stat_verify_regular(const struct stat *st) {