From 251cbb6366403a056b39638264932c82d18ec610 Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Fri, 13 Sep 2024 22:00:15 +0200 Subject: statx: fix ENOSYS emulation not setting stx_rdev_* The current implementation of the statx function fails to set the values of stx->stx_rdev_major and stx->stx_rdev_minor if the statx syscall fails with ENOSYS and thus the statx function has to fall back on fstatat-based emulation. --- src/linux/statx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/linux/statx.c b/src/linux/statx.c index 4616bff4..5f6dde92 100644 --- a/src/linux/statx.c +++ b/src/linux/statx.c @@ -21,6 +21,8 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct stx->stx_dev_major = major(st.st_dev); stx->stx_dev_minor = minor(st.st_dev); + stx->stx_rdev_major = major(st.st_rdev); + stx->stx_rdev_minor = minor(st.st_rdev); stx->stx_ino = st.st_ino; stx->stx_mode = st.st_mode; stx->stx_nlink = st.st_nlink; -- cgit 1.4.1