[LSF/MM TOPIC] New mount API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've been working on a new mount API - a replacement for the mount(2) syscall
- with particular help from Miklós Szeredi and Al.

This has some advantages over the current API, including:

 - Not limited to a single page of options.
 - Options are passed separately so text and binary options can be mixed.
 - Potential for better error indications.
 - Internal context propagation of namespaces to submount easier.
 - Options can be preparsed and stored in the internal context so that they
   can be applied atomically, thereby avoiding a bug in most filesystems
   whereby a partial change can be applied if an error occurs in an option.

A legacy wrapper is provided so that filesysems don't need to be modified in
order for this to go in.

There are still a few issues to be resolved, including:

 (1) How many system calls should it be replaced with?  Though it may not look
     like it initially, mount(2) is actually a syscall switch for at least 5
     or 6 different functions (create, reconfig mountpoint, reconfig super,
     bind, move, change propagation flags).

 (2) I'd like to treat superblocks as separate entities to mountpoints, but
     this has some potentential plumbing issues as it makes mount creation,
     say, a multistage process (you create a superblock, then create a
     mountpoint, then bind the mountpoint).  But it's not entirely clear as to
     the best way to do this.

 (3) How to reinstitute superblock reconfiguration.  This is a place where
     Miklós and I disagree.  I would like to reuse the primary option parser
     to fill out a context and then attempt to apply that, but Miklós would
     prefer a mechanism where you specify options to be turned on and off.

The patches that I have can be found here:

https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=mount-context

It's currently missing some patches as I've been using it to discuss apparmor
changes with the maintainer.

David



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux