aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/Locking
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-06-30 23:34:49 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-06-30 23:34:49 -0400
commitb223f4e215b32849b841e750e83a915b670070f5 (patch)
tree75340f6305028de331a17255018869822b3886d2 /Documentation/filesystems/Locking
parentf4e6d844bdc142322905d137a9e44e07eee43c5c (diff)
parent0cac643c102c0632dc2cc81e2490b0fec1cac0af (diff)
Merge branch 'd_real' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into work.misc
Diffstat (limited to 'Documentation/filesystems/Locking')
-rw-r--r--Documentation/filesystems/Locking5
1 files changed, 3 insertions, 2 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 08086dc160d3..a38da93865c2 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -20,6 +20,8 @@ prototypes:
20 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen); 20 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);
21 struct vfsmount *(*d_automount)(struct path *path); 21 struct vfsmount *(*d_automount)(struct path *path);
22 int (*d_manage)(struct dentry *, bool); 22 int (*d_manage)(struct dentry *, bool);
23 struct dentry *(*d_real)(struct dentry *, const struct inode *,
24 unsigned int);
23 25
24locking rules: 26locking rules:
25 rename_lock ->d_lock may block rcu-walk 27 rename_lock ->d_lock may block rcu-walk
@@ -34,6 +36,7 @@ d_iput: no no yes no
34d_dname: no no no no 36d_dname: no no no no
35d_automount: no no yes no 37d_automount: no no yes no
36d_manage: no no yes (ref-walk) maybe 38d_manage: no no yes (ref-walk) maybe
39d_real no no yes no
37 40
38--------------------------- inode_operations --------------------------- 41--------------------------- inode_operations ---------------------------
39prototypes: 42prototypes:
@@ -66,7 +69,6 @@ prototypes:
66 struct file *, unsigned open_flag, 69 struct file *, unsigned open_flag,
67 umode_t create_mode, int *opened); 70 umode_t create_mode, int *opened);
68 int (*tmpfile) (struct inode *, struct dentry *, umode_t); 71 int (*tmpfile) (struct inode *, struct dentry *, umode_t);
69 int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
70 72
71locking rules: 73locking rules:
72 all may block 74 all may block
@@ -95,7 +97,6 @@ fiemap: no
95update_time: no 97update_time: no
96atomic_open: yes 98atomic_open: yes
97tmpfile: no 99tmpfile: no
98dentry_open: no
99 100
100 Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on 101 Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
101victim. 102victim.