diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-06-30 02:53:28 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2016-06-30 02:53:28 -0400 |
commit | 0cac643c102c0632dc2cc81e2490b0fec1cac0af (patch) | |
tree | 81983d4f6c9174b8c9c7b29e7aacfd3315782c3e | |
parent | e698b8a43659f9ece192fcab215abcadac8f88d7 (diff) |
vfs: clean up documentation
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
-rw-r--r-- | Documentation/filesystems/Locking | 2 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 24 |
2 files changed, 8 insertions, 18 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 898d3cecd8a6..d4def7b78a62 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -69,7 +69,6 @@ prototypes: | |||
69 | struct file *, unsigned open_flag, | 69 | struct file *, unsigned open_flag, |
70 | umode_t create_mode, int *opened); | 70 | umode_t create_mode, int *opened); |
71 | int (*tmpfile) (struct inode *, struct dentry *, umode_t); | 71 | int (*tmpfile) (struct inode *, struct dentry *, umode_t); |
72 | int (*dentry_open)(struct dentry *, struct file *, const struct cred *); | ||
73 | 72 | ||
74 | locking rules: | 73 | locking rules: |
75 | all may block | 74 | all may block |
@@ -98,7 +97,6 @@ fiemap: no | |||
98 | update_time: no | 97 | update_time: no |
99 | atomic_open: yes | 98 | atomic_open: yes |
100 | tmpfile: no | 99 | tmpfile: no |
101 | dentry_open: no | ||
102 | 100 | ||
103 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on | 101 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on |
104 | victim. | 102 | victim. |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 1c934dd2c47d..01c4f1741c20 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -364,7 +364,6 @@ struct inode_operations { | |||
364 | int (*atomic_open)(struct inode *, struct dentry *, struct file *, | 364 | int (*atomic_open)(struct inode *, struct dentry *, struct file *, |
365 | unsigned open_flag, umode_t create_mode, int *opened); | 365 | unsigned open_flag, umode_t create_mode, int *opened); |
366 | int (*tmpfile) (struct inode *, struct dentry *, umode_t); | 366 | int (*tmpfile) (struct inode *, struct dentry *, umode_t); |
367 | int (*dentry_open)(struct dentry *, struct file *, const struct cred *); | ||
368 | }; | 367 | }; |
369 | 368 | ||
370 | Again, all methods are called without any locks being held, unless | 369 | Again, all methods are called without any locks being held, unless |
@@ -696,13 +695,6 @@ struct address_space_operations { | |||
696 | but instead uses bmap to find out where the blocks in the file | 695 | but instead uses bmap to find out where the blocks in the file |
697 | are and uses those addresses directly. | 696 | are and uses those addresses directly. |
698 | 697 | ||
699 | dentry_open: *WARNING: probably going away soon, do not use!* This is an | ||
700 | alternative to f_op->open(), the difference is that this method may open | ||
701 | a file not necessarily originating from the same filesystem as the one | ||
702 | i_op->open() was called on. It may be useful for stacking filesystems | ||
703 | which want to allow native I/O directly on underlying files. | ||
704 | |||
705 | |||
706 | invalidatepage: If a page has PagePrivate set, then invalidatepage | 698 | invalidatepage: If a page has PagePrivate set, then invalidatepage |
707 | will be called when part or all of the page is to be removed | 699 | will be called when part or all of the page is to be removed |
708 | from the address space. This generally corresponds to either a | 700 | from the address space. This generally corresponds to either a |
@@ -1024,6 +1016,14 @@ struct dentry_operations { | |||
1024 | at the end of the buffer, and returns a pointer to the first char. | 1016 | at the end of the buffer, and returns a pointer to the first char. |
1025 | dynamic_dname() helper function is provided to take care of this. | 1017 | dynamic_dname() helper function is provided to take care of this. |
1026 | 1018 | ||
1019 | Example : | ||
1020 | |||
1021 | static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen) | ||
1022 | { | ||
1023 | return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]", | ||
1024 | dentry->d_inode->i_ino); | ||
1025 | } | ||
1026 | |||
1027 | d_automount: called when an automount dentry is to be traversed (optional). | 1027 | d_automount: called when an automount dentry is to be traversed (optional). |
1028 | This should create a new VFS mount record and return the record to the | 1028 | This should create a new VFS mount record and return the record to the |
1029 | caller. The caller is supplied with a path parameter giving the | 1029 | caller. The caller is supplied with a path parameter giving the |
@@ -1080,14 +1080,6 @@ struct dentry_operations { | |||
1080 | 1080 | ||
1081 | This method is never called with both non-NULL inode and non-zero flags. | 1081 | This method is never called with both non-NULL inode and non-zero flags. |
1082 | 1082 | ||
1083 | Example : | ||
1084 | |||
1085 | static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen) | ||
1086 | { | ||
1087 | return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]", | ||
1088 | dentry->d_inode->i_ino); | ||
1089 | } | ||
1090 | |||
1091 | Each dentry has a pointer to its parent dentry, as well as a hash list | 1083 | Each dentry has a pointer to its parent dentry, as well as a hash list |
1092 | of child dentries. Child dentries are basically like files in a | 1084 | of child dentries. Child dentries are basically like files in a |
1093 | directory. | 1085 | directory. |