This updates the VFS docs under the Documentation/ directory to describe the new killattr inode operation. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- Documentation/filesystems/Locking | 2 ++ Documentation/filesystems/vfs.txt | 6 ++++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index fe26cc9..ac377aa 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -51,6 +51,7 @@ ata *); ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); ssize_t (*listxattr) (struct dentry *, char *, size_t); int (*removexattr) (struct dentry *, const char *); + void (*killattr) (struct dentry *, struct iattr *); locking rules: all may block, none have BKL @@ -74,6 +75,7 @@ setxattr: yes getxattr: no listxattr: no removexattr: yes +killattr: yes Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on victim. cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 05a7b83..ca3a403 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -348,6 +348,7 @@ struct inode_operations { ssize_t (*listxattr) (struct dentry *, char *, size_t); int (*removexattr) (struct dentry *, const char *); void (*truncate_range)(struct inode *, loff_t, loff_t); + void (*killattr)(struct dentry *, struct iattr *); }; Again, all methods are called without any locks being held, unless @@ -447,6 +448,11 @@ otherwise noted. truncate_range: a method provided by the underlying filesystem to truncate a range of blocks , i.e. punch a hole somewhere in a file. + killattr: called by the VFS when a setuid/setgid inode is modified. This + allows a filesystem to override the standard behavior and handle + the ATTR_KILL_SUID and ATTR_KILL_SGID bits in its own way. Should + only be defined if the standard method for clearing setuid/setgid + bits is not adequate for your filesystem. The Address Space Object ======================== -- 1.5.2.1 - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html