Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[sfrench/cifs-2.6.git] / Documentation / filesystems / Locking
index 5b0c083d7c0e98eccfb315cf6b5cd72f8e73d7e5..f424e0e5b46bb4b2668f33a74ebf5624a92fb6ee 100644 (file)
@@ -47,6 +47,8 @@ prototypes:
        int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
        int (*rename) (struct inode *, struct dentry *,
                        struct inode *, struct dentry *);
+       int (*rename2) (struct inode *, struct dentry *,
+                       struct inode *, struct dentry *, unsigned int);
        int (*readlink) (struct dentry *, char __user *,int);
        void * (*follow_link) (struct dentry *, struct nameidata *);
        void (*put_link) (struct dentry *, struct nameidata *, void *);
@@ -78,6 +80,7 @@ mkdir:                yes
 unlink:                yes (both)
 rmdir:         yes (both)      (see below)
 rename:                yes (all)       (see below)
+rename2:       yes (all)       (see below)
 readlink:      no
 follow_link:   no
 put_link:      no
@@ -96,7 +99,8 @@ tmpfile:      no
 
        Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
 victim.
-       cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
+       cross-directory ->rename() and rename2() has (per-superblock)
+->s_vfs_rename_sem.
 
 See Documentation/filesystems/directory-locking for more detailed discussion
 of the locking scheme for directory operations.