diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/Locking | 3 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index d449e632e6a0..8e2da1e06e3b 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -61,6 +61,7 @@ ata *); | |||
61 | ssize_t (*listxattr) (struct dentry *, char *, size_t); | 61 | ssize_t (*listxattr) (struct dentry *, char *, size_t); |
62 | int (*removexattr) (struct dentry *, const char *); | 62 | int (*removexattr) (struct dentry *, const char *); |
63 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); | 63 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); |
64 | void (*update_time)(struct inode *, struct timespec *, int); | ||
64 | 65 | ||
65 | locking rules: | 66 | locking rules: |
66 | all may block | 67 | all may block |
@@ -87,6 +88,8 @@ getxattr: no | |||
87 | listxattr: no | 88 | listxattr: no |
88 | removexattr: yes | 89 | removexattr: yes |
89 | fiemap: no | 90 | fiemap: no |
91 | update_time: no | ||
92 | |||
90 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on | 93 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on |
91 | victim. | 94 | victim. |
92 | cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. | 95 | cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index ef19f91a0f12..efd23f481704 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -363,6 +363,7 @@ struct inode_operations { | |||
363 | ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); | 363 | ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); |
364 | ssize_t (*listxattr) (struct dentry *, char *, size_t); | 364 | ssize_t (*listxattr) (struct dentry *, char *, size_t); |
365 | int (*removexattr) (struct dentry *, const char *); | 365 | int (*removexattr) (struct dentry *, const char *); |
366 | void (*update_time)(struct inode *, struct timespec *, int); | ||
366 | }; | 367 | }; |
367 | 368 | ||
368 | Again, all methods are called without any locks being held, unless | 369 | Again, all methods are called without any locks being held, unless |
@@ -471,6 +472,9 @@ otherwise noted. | |||
471 | removexattr: called by the VFS to remove an extended attribute from | 472 | removexattr: called by the VFS to remove an extended attribute from |
472 | a file. This method is called by removexattr(2) system call. | 473 | a file. This method is called by removexattr(2) system call. |
473 | 474 | ||
475 | update_time: called by the VFS to update a specific time or the i_version of | ||
476 | an inode. If this is not defined the VFS will update the inode itself | ||
477 | and call mark_inode_dirty_sync. | ||
474 | 478 | ||
475 | The Address Space Object | 479 | The Address Space Object |
476 | ======================== | 480 | ======================== |