diff options
author | Arjun Shankar <arjun@redhat.com> | 2025-08-18 15:33:13 +0200 |
---|---|---|
committer | Arjun Shankar <arjun@redhat.com> | 2025-08-19 09:54:38 +0200 |
commit | 6f999af332c91035350390ef8af96388b8f4fd2c (patch) | |
tree | 178b660454f68f99dbccef3a80fabae1727b2dbd | |
parent | d4ccda8e69f29ea3600c1d1cbc7e32db4e186ea4 (diff) | |
download | glibc-6f999af332c91035350390ef8af96388b8f4fd2c.zip glibc-6f999af332c91035350390ef8af96388b8f4fd2c.tar.gz glibc-6f999af332c91035350390ef8af96388b8f4fd2c.tar.bz2 |
support: Handle FUSE_GETXATTR during FUSE FS mount
When testing with some kernel versions, support FUSE infrastructure
encounters a FUSE_GETXATTR request, leading to FUSE tests hanging until
timed out. Therefore, pass FUSE_GETXATTR requests from
support_fuse_handle_mountpoint to support_fuse_handle_directory, and
adjust support_fuse_handle_directory to return ENOSYS so that tests can
proceed.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
-rw-r--r-- | support/support_fuse.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/support/support_fuse.c b/support/support_fuse.c index a70a74c..a90882e 100644 --- a/support/support_fuse.c +++ b/support/support_fuse.c @@ -212,6 +212,9 @@ support_fuse_handle_directory (struct support_fuse *f) support_fuse_reply_prepared (f); } return true; + case FUSE_GETXATTR: + support_fuse_reply_error (f, ENOSYS); + return true; default: return false; } @@ -222,7 +225,8 @@ support_fuse_handle_mountpoint (struct support_fuse *f) { TEST_VERIFY (f->inh != NULL); /* 1 is the root node. */ - if (f->inh->opcode == FUSE_GETATTR && f->inh->nodeid == 1) + if ((f->inh->opcode == FUSE_GETATTR || f->inh->opcode == FUSE_GETXATTR) + && f->inh->nodeid == 1) return support_fuse_handle_directory (f); return false; } |