Re: [GSoC 2026 Applicant] Abinash Singh ( for OpenAFS Low-Level FUSE client)
Abinash Singh <[email protected]> Thu, 26 Mar 2026 12:38:33 +0530
| Newsgroups | gmane.comp.file-systems.openafs.devel |
|---|---|
| Message-ID | <CAMV7Lq5Zit6iY9p_zRhxKX=4yVfnd2N-zEQzRKaeZiF0H=jA3g@mail.gmail.com> |
Hi Mike, I have gone through the project description and the codebase, and this is what I understood. The existing OpenAFS FUSE client uses fuse_operations and handles requests via libuafs. libuafs operates entirely in userspace and exposes path-based interfaces. For this project, since we are targeting the low-level FUSE API (fuse_lowlevel_ops), the interaction model changes from path-based to inode-based. Internally, OpenAFS already uses vnodes I think. Please correct me if I have misunderstood anything. I had a couple of questions regarding the implementation: Does libuafs expose vnode-based interfaces(I couldn't see any), or are vnodes only used internally within the cache manager? If vnode-level access is available (or can be reasonably exposed), then it seems we could implement a thin FUSE backend (similar in spirit to something like afsd_fuse.c) that maps fuse_ino_t to vnodes and forwards operations accordingly. If such interfaces are not available, would the expectation be to introduce a new layer or extend libuafs to support inode-style operations? If vnode-level access is available internally, I will try to build a small prototype to validate this approach and then proceed with a more detailed proposal. Thanks Mike Abinash