mirror of git://sourceware.org/git/glibc.git
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>
This commit is contained in:
parent
d4ccda8e69
commit
6f999af332
|
|
@ -212,6 +212,9 @@ support_fuse_handle_directory (struct support_fuse *f)
|
||||||
support_fuse_reply_prepared (f);
|
support_fuse_reply_prepared (f);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
case FUSE_GETXATTR:
|
||||||
|
support_fuse_reply_error (f, ENOSYS);
|
||||||
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -222,7 +225,8 @@ support_fuse_handle_mountpoint (struct support_fuse *f)
|
||||||
{
|
{
|
||||||
TEST_VERIFY (f->inh != NULL);
|
TEST_VERIFY (f->inh != NULL);
|
||||||
/* 1 is the root node. */
|
/* 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 support_fuse_handle_directory (f);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue