提交 b9f61c3c 编写于 作者: M Marco Stornelli 提交者: Al Viro

documentation: drop vmtruncate

Removed vmtruncate
Signed-off-by: NMarco Stornelli <marco.stornelli@gmail.com>
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 7898575f
...@@ -80,7 +80,6 @@ rename: yes (all) (see below) ...@@ -80,7 +80,6 @@ rename: yes (all) (see below)
readlink: no readlink: no
follow_link: no follow_link: no
put_link: no put_link: no
truncate: yes (see below)
setattr: yes setattr: yes
permission: no (may not block if called in rcu-walk mode) permission: no (may not block if called in rcu-walk mode)
get_acl: no get_acl: no
...@@ -96,11 +95,6 @@ atomic_open: yes ...@@ -96,11 +95,6 @@ atomic_open: yes
Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
victim. victim.
cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem. cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
->truncate() is never called directly - it's a callback, not a
method. It's called by vmtruncate() - deprecated library function used by
->setattr(). Locking information above applies to that call (i.e. is
inherited from ->setattr() - vmtruncate() is used when ATTR_SIZE had been
passed).
See Documentation/filesystems/directory-locking for more detailed discussion See Documentation/filesystems/directory-locking for more detailed discussion
of the locking scheme for directory operations. of the locking scheme for directory operations.
......
...@@ -281,7 +281,7 @@ ext2_write_failed and callers for an example. ...@@ -281,7 +281,7 @@ ext2_write_failed and callers for an example.
[mandatory] [mandatory]
->truncate is going away. The whole truncate sequence needs to be ->truncate is gone. The whole truncate sequence needs to be
implemented in ->setattr, which is now mandatory for filesystems implemented in ->setattr, which is now mandatory for filesystems
implementing on-disk size changes. Start with a copy of the old inode_setattr implementing on-disk size changes. Start with a copy of the old inode_setattr
and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to
......
...@@ -350,7 +350,6 @@ struct inode_operations { ...@@ -350,7 +350,6 @@ struct inode_operations {
int (*readlink) (struct dentry *, char __user *,int); int (*readlink) (struct dentry *, char __user *,int);
void * (*follow_link) (struct dentry *, struct nameidata *); void * (*follow_link) (struct dentry *, struct nameidata *);
void (*put_link) (struct dentry *, struct nameidata *, void *); void (*put_link) (struct dentry *, struct nameidata *, void *);
void (*truncate) (struct inode *);
int (*permission) (struct inode *, int); int (*permission) (struct inode *, int);
int (*get_acl)(struct inode *, int); int (*get_acl)(struct inode *, int);
int (*setattr) (struct dentry *, struct iattr *); int (*setattr) (struct dentry *, struct iattr *);
...@@ -431,16 +430,6 @@ otherwise noted. ...@@ -431,16 +430,6 @@ otherwise noted.
started might not be in the page cache at the end of the started might not be in the page cache at the end of the
walk). walk).
truncate: Deprecated. This will not be called if ->setsize is defined.
Called by the VFS to change the size of a file. The
i_size field of the inode is set to the desired size by the
VFS before this method is called. This method is called by
the truncate(2) system call and related functionality.
Note: ->truncate and vmtruncate are deprecated. Do not add new
instances/calls of these. Filesystems should be converted to do their
truncate sequence via ->setattr().
permission: called by the VFS to check for access rights on a POSIX-like permission: called by the VFS to check for access rights on a POSIX-like
filesystem. filesystem.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册