diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2016-06-30 23:34:49 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-06-30 23:34:49 -0400 |
| commit | b223f4e215b32849b841e750e83a915b670070f5 (patch) | |
| tree | 75340f6305028de331a17255018869822b3886d2 /Documentation/filesystems/Locking | |
| parent | f4e6d844bdc142322905d137a9e44e07eee43c5c (diff) | |
| parent | 0cac643c102c0632dc2cc81e2490b0fec1cac0af (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/Locking | 5 |
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 | ||
| 24 | locking rules: | 26 | locking 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 | |||
| 34 | d_dname: no no no no | 36 | d_dname: no no no no |
| 35 | d_automount: no no yes no | 37 | d_automount: no no yes no |
| 36 | d_manage: no no yes (ref-walk) maybe | 38 | d_manage: no no yes (ref-walk) maybe |
| 39 | d_real no no yes no | ||
| 37 | 40 | ||
| 38 | --------------------------- inode_operations --------------------------- | 41 | --------------------------- inode_operations --------------------------- |
| 39 | prototypes: | 42 | prototypes: |
| @@ -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 | ||
| 71 | locking rules: | 73 | locking rules: |
| 72 | all may block | 74 | all may block |
| @@ -95,7 +97,6 @@ fiemap: no | |||
| 95 | update_time: no | 97 | update_time: no |
| 96 | atomic_open: yes | 98 | atomic_open: yes |
| 97 | tmpfile: no | 99 | tmpfile: no |
| 98 | dentry_open: no | ||
| 99 | 100 | ||
| 100 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on | 101 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on |
| 101 | victim. | 102 | victim. |
