History

afs: Display manually added cells in dynamic root mount

Alter the dynroot mount so that cells created by manipulation of /proc/fs/afs/cells and /proc/fs/afs/rootcell and by specification of a root cell as a module parameter will cause directories for those cells to be created in the dynamic root superblock for the network namespace[*]. To this end: (1) Only one dynamic root superblock is now created per network namespace and this is shared between all attempts to mount it. This makes it easier to find the superblock to modify. (2) When a dynamic root superblock is created, the list of cells is walked and directories created for each cell already defined. (3) When a new cell is added, if a dynamic root superblock exists, a directory is created for it. (4) When a cell is destroyed, the directory is removed. (5) These directories are created by calling lookup_one_len() on the root dir which automatically creates them if they don't exist. [*] Inasmuch as network namespaces are currently supported here.

David Howells committed 8 years ago

Commit 0da0b7f1 parent c88d5a77 files · +200 −27Browse files

Showing the changes to include/linux (1 of 7 files). Show all

Unified · Split

include/linux/namei.h+1−0
@@ -81,6 +81,7 @@ extern void done_path_create(struct path *, struct dentry *); · 80 unmodified lines
81extern struct dentry *kern_path_locked(const char *, struct path *);81extern struct dentry *kern_path_locked(const char *, struct path *);
82extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int);82extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int);
83 83
84extern struct dentry *try_lookup_one_len(const char *, struct dentry *, int);
84extern struct dentry *lookup_one_len(const char *, struct dentry *, int);85extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
85extern struct dentry *lookup_one_len_unlocked(const char *, struct dentry *, int);86extern struct dentry *lookup_one_len_unlocked(const char *, struct dentry *, int);
86 87