Page MenuHomeFreeBSD

fusefs: add more tests for buggy FUSE servers
ClosedPublic

Authored by asomers on Jan 15 2025, 8:22 PM.
Tags
None
Referenced Files
F151029754: D48471.id.diff
Sun, Apr 5, 1:26 PM
Unknown Object (File)
Thu, Apr 2, 9:01 PM
Unknown Object (File)
Sat, Mar 28, 11:41 AM
Unknown Object (File)
Sun, Mar 22, 7:02 PM
Unknown Object (File)
Sat, Mar 14, 9:40 AM
Unknown Object (File)
Fri, Mar 13, 5:06 PM
Unknown Object (File)
Thu, Mar 12, 7:31 AM
Unknown Object (File)
Wed, Mar 11, 7:30 PM
Subscribers

Details

Summary
  • If a FUSE file system is NFS-exported (either by a kernel or userspace NFS server), then it must support FUSE_LOOKUP operations for ".". But if the response reports a different nodeid than the request, that's very bad. Fail the operation and warn the operator.
  • In general, a FUSE file may have a distinct "nodeid" and "inode number". But it the file system is NFS-exported (either by a kernel or userspace NFS server), then those two must match, because the NFS server will do VFS_VGET operations using the inode number. If they don't match, warn the operator.

MFC after: 2 weeks
Sponsored by: ConnectWise

Test Plan

Test cases added

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 61743
Build 58627: arc lint + arc unit