aboutsummaryrefslogtreecommitdiff
path: root/Documentation/filesystems/vfs.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/filesystems/vfs.txt')
-rw-r--r--Documentation/filesystems/vfs.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index efd23f48170..f586bc61639 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -364,6 +364,8 @@ struct inode_operations {
ssize_t (*listxattr) (struct dentry *, char *, size_t);
int (*removexattr) (struct dentry *, const char *);
void (*update_time)(struct inode *, struct timespec *, int);
+ struct file *(*open) (struct dentry *, struct file *,
+ const struct cred *);
};
Again, all methods are called without any locks being held, unless
@@ -476,6 +478,12 @@ otherwise noted.
an inode. If this is not defined the VFS will update the inode itself
and call mark_inode_dirty_sync.
+ open: this is an alternative to f_op->open(), the difference is that this
+ method may return any open file, not necessarily originating from the
+ same filesystem as the one i_op->open() was called on. It may be useful
+ for stacking filesystems which want to allow native I/O directly on
+ underlying files.
+
The Address Space Object
========================