From bd7b2b16c9f20c327015f27ffe2e7020cf0f9711 Mon Sep 17 00:00:00 2001 From: Yongli He Date: Mon, 25 Aug 2008 11:30:50 +0800 Subject: [PATCH 09/12] revoke: add to documentation V7 From: Pekka Enberg Add the ->revoke() file operation to VFS documentation. Cc: Alan Cox Cc: Al Viro Cc: Christoph Hellwig Cc: Peter Zijlstra Signed-off-by: Pekka Enberg ntegrated-by: Yongli he --- Documentation/filesystems/vfs.txt | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 3de2f32..9766ec2 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -742,6 +742,7 @@ struct file_operations { int (*flock) (struct file *, int, struct file_lock *); ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, size_t, unsigned int); ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int); + int (*revoke)(struct file *); }; Again, all methods are called without any locks being held, unless @@ -813,6 +814,10 @@ otherwise noted. splice_read: called by the VFS to splice data from file to a pipe. This method is used by the splice(2) system call + revoke: called by revokeat(2) system call to revoke access to an open file. + This method must ensure that all currently blocked writes are flushed + and that all pending reads will fail. + Note that the file operations are implemented by the specific filesystem in which the inode resides. When opening a device node (character or block special) most filesystems will call special -- 1.6.5.2