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 4fca82e5276e..d5a269a51a9e 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -62,6 +62,7 @@ ata *); | |||
62 | int (*removexattr) (struct dentry *, const char *); | 62 | int (*removexattr) (struct dentry *, const char *); |
63 | void (*truncate_range)(struct inode *, loff_t, loff_t); | 63 | void (*truncate_range)(struct inode *, loff_t, loff_t); |
64 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); | 64 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); |
65 | void (*update_time)(struct inode *, struct timespec *, int); | ||
65 | 66 | ||
66 | locking rules: | 67 | locking rules: |
67 | all may block | 68 | all may block |
@@ -89,6 +90,8 @@ listxattr: no | |||
89 | removexattr: yes | 90 | removexattr: yes |
90 | truncate_range: yes | 91 | truncate_range: yes |
91 | fiemap: no | 92 | fiemap: no |
93 | update_time: no | ||
94 | |||
92 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on | 95 | Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on |
93 | victim. | 96 | victim. |
94 | cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. | 97 | cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 0d0492028082..b2aa722e5ea2 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -364,6 +364,7 @@ struct inode_operations { | |||
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 (*truncate_range)(struct inode *, loff_t, loff_t); | 366 | void (*truncate_range)(struct inode *, loff_t, loff_t); |
367 | void (*update_time)(struct inode *, struct timespec *, int); | ||
367 | }; | 368 | }; |
368 | 369 | ||
369 | Again, all methods are called without any locks being held, unless | 370 | Again, all methods are called without any locks being held, unless |
@@ -475,6 +476,9 @@ otherwise noted. | |||
475 | truncate_range: a method provided by the underlying filesystem to truncate a | 476 | truncate_range: a method provided by the underlying filesystem to truncate a |
476 | range of blocks , i.e. punch a hole somewhere in a file. | 477 | range of blocks , i.e. punch a hole somewhere in a file. |
477 | 478 | ||
479 | update_time: called by the VFS to update a specific time or the i_version of | ||
480 | an inode. If this is not defined the VFS will update the inode itself | ||
481 | and call mark_inode_dirty_sync. | ||
478 | 482 | ||
479 | The Address Space Object | 483 | The Address Space Object |
480 | ======================== | 484 | ======================== |