Generic File System Mounting Protocol



About (top)

File systems have their own "proprietary" mount protocol and need to be treated differently : each addition of a file system implies adding specific code on every program which want to use it. The aim of this project is to replace them by a generic protocol, which could be used for every file system.

Doing so, it could be possible for instance to mount a device without having to specify the file system.

This project is developed by Arnaud Ysmal and mentored by Antti Kantee.

Schedule (top)

Project schedule
  • May 23th - July 6th
    • Survey of mounting argument structures
    • Etablishment of a unified protocol
    • Development of the new vfs operation
  • July 7th - August 17th
    • Conversion of in-tree file systems
    • Development of mount_generic command
Summer of code schedule
  • April 20, 2009: Community Bonding Period -- Students get to know mentors, read documentation, get up to speed to begin working on their projects.
  • May 23, 2009: Students begin coding for their GSoC projects; Google begins issuing initial student payments
  • June 21, 2009: First report on blog.NetBSD.org.
  • July 6, 2009: Mentors and students can begin submitting mid-term evaluations.
  • July 13, 2009: Mid-term evaluation deadline; Google begins issuing mid-term student payments provided passing student survey is on file.
  • August 10, 2009: Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.
  • August 17, 2009: Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.
  • August 24, 2009: Final evaluation deadline; Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.
  • September 21, 2009: Result posted on blog.NetBSD.org

Delivrables (top)

Mandatory (must-have) components:
  • mount_generic command
  • patches for in-tree file systems
  • patch to add a new vfs operation

The patch containing the components listed above is available here.

Optional (would-be-nice) components:
  • up to date manpages

Documentation used (top)

Manpages: