aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r--Documentation/filesystems/Locking2
-rw-r--r--Documentation/filesystems/vfs.txt14
2 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 977d8919cc69..5f0c52a07386 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -19,6 +19,7 @@ prototypes:
19 void (*d_release)(struct dentry *); 19 void (*d_release)(struct dentry *);
20 void (*d_iput)(struct dentry *, struct inode *); 20 void (*d_iput)(struct dentry *, struct inode *);
21 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen); 21 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);
22 struct vfsmount *(*d_automount)(struct path *path);
22 23
23locking rules: 24locking rules:
24 rename_lock ->d_lock may block rcu-walk 25 rename_lock ->d_lock may block rcu-walk
@@ -29,6 +30,7 @@ d_delete: no yes no no
29d_release: no no yes no 30d_release: no no yes no
30d_iput: no no yes no 31d_iput: no no yes no
31d_dname: no no no no 32d_dname: no no no no
33d_automount: no no yes no
32 34
33--------------------------- inode_operations --------------------------- 35--------------------------- inode_operations ---------------------------
34prototypes: 36prototypes:
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index cae6d27c9f5b..726a4f6fa3c9 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -864,6 +864,7 @@ struct dentry_operations {
864 void (*d_release)(struct dentry *); 864 void (*d_release)(struct dentry *);
865 void (*d_iput)(struct dentry *, struct inode *); 865 void (*d_iput)(struct dentry *, struct inode *);
866 char *(*d_dname)(struct dentry *, char *, int); 866 char *(*d_dname)(struct dentry *, char *, int);
867 struct vfsmount *(*d_automount)(struct path *);
867}; 868};
868 869
869 d_revalidate: called when the VFS needs to revalidate a dentry. This 870 d_revalidate: called when the VFS needs to revalidate a dentry. This
@@ -930,6 +931,19 @@ struct dentry_operations {
930 at the end of the buffer, and returns a pointer to the first char. 931 at the end of the buffer, and returns a pointer to the first char.
931 dynamic_dname() helper function is provided to take care of this. 932 dynamic_dname() helper function is provided to take care of this.
932 933
934 d_automount: called when an automount dentry is to be traversed (optional).
935 This should create a new VFS mount record, mount it on the directory
936 and return the record to the caller. The caller is supplied with a
937 path parameter giving the automount directory to describe the automount
938 target and the parent VFS mount record to provide inheritable mount
939 parameters. NULL should be returned if someone else managed to make
940 the automount first. If the automount failed, then an error code
941 should be returned.
942
943 This function is only used if DCACHE_NEED_AUTOMOUNT is set on the
944 dentry. This is set by __d_instantiate() if S_AUTOMOUNT is set on the
945 inode being added.
946
933Example : 947Example :
934 948
935static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen) 949static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen)