Re: GSOC 2026 Application : Add mount point and ACL support to the afsio command-line tool
Michael Meffie <[email protected]> Wed, 11 Mar 2026 11:45:27 -0400
| Newsgroups | gmane.comp.file-systems.openafs.devel |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 9 Mar 2026 20:59:48 +0530 Akarshi Sinha <[email protected]> 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 <[email protected]>