Document ->tmpfile()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 3 Jul 2013 12:19:23 +0000 (16:19 +0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 3 Jul 2013 12:23:29 +0000 (16:23 +0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Documentation/filesystems/Locking
Documentation/filesystems/vfs.txt

index 7d9ca7a..e95d313 100644 (file)
@@ -64,6 +64,7 @@ prototypes:
        int (*atomic_open)(struct inode *, struct dentry *,
                                struct file *, unsigned open_flag,
                                umode_t create_mode, int *opened);
+       int (*tmpfile) (struct inode *, struct dentry *, umode_t);
 
 locking rules:
        all may block
@@ -91,6 +92,7 @@ removexattr:  yes
 fiemap:                no
 update_time:   no
 atomic_open:   yes
+tmpfile:       no
 
        Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
 victim.
index 51ba44e..aeff462 100644 (file)
@@ -360,6 +360,8 @@ struct inode_operations {
        int (*removexattr) (struct dentry *, const char *);
        void (*update_time)(struct inode *, struct timespec *, int);
        int (*atomic_open)(struct inode *, struct dentry *,
+       int (*tmpfile) (struct inode *, struct dentry *, umode_t);
+} ____cacheline_aligned;
                                struct file *, unsigned open_flag,
                                umode_t create_mode, int *opened);
 };
@@ -472,6 +474,9 @@ otherwise noted.
        component is negative or needs lookup.  Cached positive dentries are
        still handled by f_op->open().
 
+  tmpfile: called in the end of O_TMPFILE open().  Optional, equivalent to
+       atomically creating, opening and unlinking a file in given directory.
+
 The Address Space Object
 ========================