Skip to content

Commit d2c2eb5

Browse files
committed
ci: exclude new open_by_handle tests added by xfstests v2026.10.15
The first CI run of xfstests v2026.10.15 failed 2 of 777 tests on the overlay job: generic/756 and generic/777, both from the open_by_handle family. Both print open_by_handle(...) returned 116 incorrectly on a linked file! for every live file, i.e. open_by_handle_at(2) fails with ESTALE on handles of still-linked files. Root cause is the same FUSE limitation that already excludes generic/426, 467 and 477, now reached through a new kernel path: kernel 7.0 on the Ubuntu 26.04 runners registers full FUSE export_operations, so name_to_handle_at(2) always succeeds (fuse_encode_fh encodes nodeid + generation). That is all _require_exportfs checks (open_by_handle -c only creates files and encodes handles), so the tests are no longer skipped. The actual tests however drop the caches before decoding, and after eviction fuse_fh_to_dentry() must ask the server: LOOKUP "." on the handle's nodeid, which the kernel only does when the server negotiated FUSE_EXPORT_SUPPORT at INIT. Neither PassthroughFs nor OverlayFs sets that flag (and neither answers "." lookups on non-root nodeids), so every decode of an evicted inode returns ESTALE. generic/756 is the 2024 rewrite of the 426/467 line (mount ID verification variants), generic/777 is a connectable-handle variant of 477; xfstests special-cases virtiofs for the very same limitation ("virtiofs doesn't support open_by_handle_at(2) yet ... It requires stable FUSE nodeids"). Exclude both, following the existing open_by_handle precedent in the exclude lists. Real export support (FUSE_EXPORT_SUPPORT + "."-on-nodeid lookups) would be a feature of its own and is left as future work. Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
1 parent 6e5cc02 commit d2c2eb5

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

‎tests/scripts/xfstests_overlay.exclude‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ generic/477 # Suppose to be FUSE compatibility issue: 'open_by_handle'
2121
generic/591 # Broken.
2222
generic/633 # Suppose to be FUSE compatibility issue.
2323
generic/697 # Suppose to be FUSE compatibility issue.
24-
generic/736
24+
generic/736
25+
generic/756 # Suppose to be FUSE compatibility issue: 'open_by_handle'
26+
generic/777 # Suppose to be FUSE compatibility issue: 'open_by_handle'

‎tests/scripts/xfstests_pathr.exclude‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ generic/471
99
generic/477
1010
generic/591
1111
generic/633
12-
generic/736
12+
generic/736
13+
generic/756
14+
generic/777

0 commit comments

Comments
 (0)