From: Luis Henriques Date: Sat, 20 Nov 2021 10:09:25 +0000 (+0000) Subject: test/test_syscalls.c: allow EBADF in fcheck_stat() (#631) X-Git-Tag: fuse-3.11.0~15 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=cee6de8d6619aeeb70f3318dfd35f2fdf5e43848;p=qemu-gpiodev%2Flibfuse.git test/test_syscalls.c: allow EBADF in fcheck_stat() (#631) Test test/test_examples.py::test_passthrough_hp[False] fails because, on kernels >= 5.14, fstat() will return -EBADF: 3 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 4 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 5 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 9 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor ... This patch simply whitelists the EBADF errno code. Signed-off-by: Luís Henriques Co-authored-by: Luís Henriques --- diff --git a/test/test_syscalls.c b/test/test_syscalls.c index 160a2ac..65292ed 100644 --- a/test/test_syscalls.c +++ b/test/test_syscalls.c @@ -277,7 +277,8 @@ static int fcheck_stat(int fd, int flags, struct stat *st) if (flags & O_PATH) { // With O_PATH fd, the server does not have to keep // the inode alive so FUSE inode may be stale or bad - if (errno == ESTALE || errno == EIO || errno == ENOENT) + if (errno == ESTALE || errno == EIO || + errno == ENOENT || errno == EBADF) return 0; } PERROR("fstat");