[OpenAFS-devel] [GSoC 2026 Applicant] Abinash Singh ( for OpenAFS Low-Level FUSE client)

Abinash Singh abinashsinghlalotra@gmail.com
Thu, 26 Mar 2026 12:38:33 +0530


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