From 99d704c6e821832d87b3038f550f1046a106f8a1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 4 Apr 2025 20:24:40 +0900 Subject: [PATCH] stat-util: drop unnecessary call of xopenat() in xstatfsat() --- src/basic/stat-util.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c index f328f4a78c..afe9e25bbd 100644 --- a/src/basic/stat-util.c +++ b/src/basic/stat-util.c @@ -488,11 +488,14 @@ int xstatfsat(int dir_fd, const char *path, struct statfs *ret) { assert(dir_fd >= 0 || dir_fd == AT_FDCWD); assert(ret); - fd = xopenat(dir_fd, path, O_PATH|O_CLOEXEC|O_NOCTTY); - if (fd < 0) - return fd; + if (!isempty(path)) { + fd = xopenat(dir_fd, path, O_PATH|O_CLOEXEC|O_NOCTTY); + if (fd < 0) + return fd; + dir_fd = fd; + } - return RET_NERRNO(fstatfs(fd, ret)); + return RET_NERRNO(fstatfs(dir_fd, ret)); } void inode_hash_func(const struct stat *q, struct siphash *state) {