[OpenAFS-devel] GSOC 2026 Application : Add mount point and ACL support to the afsio command-line tool

Michael Meffie mmeffie@sinenomine.net
Wed, 11 Mar 2026 11:45:27 -0400


On Mon, 9 Mar 2026 20:59:48 +0530
Akarshi Sinha <akarshisinha569@gmail.com> wrote:

> Dear OpenAFS team,
> 
> My name is Akarshi Sinha, and I am a final-year Computer Science
> Engineering student with experience in C and Linux systems programming. I
> am interested in the afsio enhancements project for GSoC 2026.
> 
> Over the past few weeks, I have been going through the codebase. I traced
> how the existing subcommands use libafscp to communicate directly with file
> servers, and studied the data flow for mount point and ACL operations from
> afscp_FetchACL and afscp_StoreACL through the AFSOpaque wire format and
> across fs.c and the cache manager. I also mapped where dependency and
> parsing issues arise when moving that functionality into afsio. The
> libafscp library already handles the RPC layer for both operations, but
> there are meaningful gaps in the parsing and dependency structure that the
> implementation will need to address.

Hello Akarshi,

Thank you for your interest in OpenAFS.  I think the afsio enhancements
would be a fun and very useful project.

> Before drafting my proposal, I had a few questions:
> 
> 1. The description mentions enabling cell creation without a kernel module.
> Is there a specific sequence of operations you have in mind that afsio
> should support end to end?

Yes. Specifically, the "Configuring the Top Levels of the AFS Filespace" shows
how to complete the setup of a new cell. The steps in that section are operations
in the file system, so require a working client. If afsio could be used, then
the user could complete the cell setup directly.

> 2. For ACL parsing, I am leaning toward duplicating the logic from fs.c
> into afsio to avoid adding liboafs_prot as a new dependency. Would that
> approach align with the project's preferences, or is there a cleaner
> direction you would recommend?

I really don't think we want to duplicate any ACL parsing code. You may
need to refactor and/or add dependencies to avoid such duplication.
 
> 3. Does the project intend to include mount point removal in addition to
> creation? For ACLs, is the goal to support both reading and setting, or
> primarily one direction?

In general, yes. If you use afsio to make a change, I think it is reasonable
to think it can be used to reverse that change.

> 4. I did not find existing test infrastructure specific to afsio. Would
> establishing a testing approach for the new subcommands be considered in
> scope? If so, is there a preferred methodology for testing this kind of
> clientless operation?

Unfortunately, there is not automated testing in tree for afsio, since
it requires a working cell, and our current unit tests do not go that far
yet.  It's possible to create a simple cell in a virtual machine and provide
testing there.

The Ansible Collection for OpenAFS can help with automating the test cell
setup (but is not required for this). It includes some example playbooks and
example inventories as a starting point. 
https://github.com/openafs-contrib/ansible-openafs

There are also some Robotframework tests available on github that could
be used as a starting point for test automation,
https://github.com/openafs-contrib/openafs-robotest

> I would be grateful for any feedback or guidance. Thank you for your time
> and consideration.
> 
> Warm regards,
> Akarshi

Many thanks,
Mike

-- 
Michael Meffie <mmeffie@sinenomine.net>