Add system call: listxattr family
In newer coreutils versions, ls -l
may call listxattr()
which we do not handle at this time. Therefore, ls -l
prints:
❯ LD_PRELOAD=/home/evie/remote_mac/gekkofs/cmake-build-debug/src/client/libgkfs_intercept.so ls -l /tmp/gkfs_mountdir/blubb
ls: /tmp/gkfs_mountdir/blubb: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bashrc: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bashrc2: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bashrc23: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bashrc234: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bashrc2345: No such file or directory
ls: /tmp/gkfs_mountdir/blubb/bla: No such file or directory
total 33
-rw-r--r-- 1 evie evie 6671 Jan 1 1970 bashrc
-rw-r--r-- 1 evie evie 6671 Jan 1 1970 bashrc2
-rw-r--r-- 1 evie evie 6671 Jan 1 1970 bashrc23
-rw-r--r-- 1 evie evie 6671 Jan 1 1970 bashrc234
-rw-r--r-- 1 evie evie 6671 Jan 1 1970 bashrc2345
drwxrwxrwx 1 evie evie 0 Jan 1 1970 bla
strace reads:
listxattr("/tmp/gkfs_mountdir/blubb/bashrc2345", 0x7ffe4aad88c0, 152) = -1 ENOENT (No such file or directory)
write(2, "ls: ", 4ls: ) = 4
write(2, "/tmp/gkfs_mountdir/blubb/bashrc2"..., 35/tmp/gkfs_mountdir/blubb/bashrc2345) = 35
write(2, ": No such file or directory", 27: No such file or directory) = 27
write(2, "\n", 1
)
All system calls from the listxattr family (man 2 listxattr
) should therefore be intercepted by GekkoFS but marked as not supported with the corresponding error code. See getxattr()
hook.
Package versions: coreutils: 9.4-r1 glibc: 2.38-r11 gcc: 13.2.1