diff options
author | Lennart Poettering <lennart@poettering.net> | 2021-01-06 18:05:56 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-02-02 14:52:53 +0100 |
commit | a2f0da2de006c74bca64b3ce5b023e99bcca4498 (patch) | |
tree | 4b50397592d3beece97a7373c3dfa73343640b9e | |
parent | 7c63e5ed58fc5d0cf2653e614fee2765b495085a (diff) | |
download | systemd-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.c | 7 |
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) { |