[PATCH] afs: proc cells and rootcell are writeable

Russ Allbery eagle at eyrie.org
Thu Jan 30 17:33:09 EST 2014


Pali Rohár <pali.rohar at gmail.com> writes:
> 2014-01-30 Linus Torvalds <torvalds at linux-foundation.org>:
>> Eric W. Biederman <ebiederm at xmission.com> wrote:

>>> These files have been read-only since this code was merged in 2002.
>>> Over a decade of not being used seems like a strong indication that no
>>> one cares about the write path.

>> I think this is a pretty strong argument. Counter-arguments, anybody?

The current in-tree AFS module is still something of an experiment and is
not widely used by actual clients, essentially all of which are still
using the (old, ugly, frustratingly-difficult-to-maintain) out-of-tree
module.  This is mostly because the in-kernel module is not yet
sufficiently mature to support a variety of use cases.  I think this is a
(minor) step towards making it more mature.

> In afs documentation is written that you need to write to these files. See:

> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/afs.txt#n82
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/afs.txt#n159

> Without cells file, you cannot specify other cell servers and you can
> use only one rootcell which was specified in kernel cmdline. So for
> mounting other server, you need to reboot kernel (if you compiled afs
> driver statically) and without cells file there is no other option to
> mount more afs servers... (or at least it is not written in that
> documentation). So I think without write access it is hard or maybe
> impossible to use afs driver.

In the AFS world more generally, it is not common to change the root cell
without restarting the client.  It *is*, however, very common to add
configuration for new cells on the fly.  The most common implementation,
OpenAFS, has a command-line tool for root to do that (fs newcell).  The
equivalent for the in-tree AFS module would be writing to this file, so to
support the fs newcell command with the in-tree module, this file would
need to be writable.  This is a common action in some use cases.

By comparison, there is not a standard fs command to set the current local
cell, only to retrieve it.  However, I suspect that's primarily due to
design limitations in the OpenAFS client.  If it's not difficult to
support this operation in the in-tree kernel module, I think it would be a
good idea to do so early, since it's the kind of thing that could be
difficult to retroactively add later.

-- 
Russ Allbery (eagle at eyrie.org)              <http://www.eyrie.org/~eagle/>



More information about the linux-afs mailing list