Merge remote-tracking branch 'ovl/rename2' into for-linus
[cascardo/linux.git] / fs / sysv / namei.c
index ce66618..d8817f1 100644 (file)
@@ -206,7 +206,8 @@ static int sysv_rmdir(struct inode * dir, struct dentry * dentry)
  * higher-level routines.
  */
 static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry,
  * higher-level routines.
  */
 static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry,
-                 struct inode * new_dir, struct dentry * new_dentry)
+                      struct inode * new_dir, struct dentry * new_dentry,
+                      unsigned int flags)
 {
        struct inode * old_inode = d_inode(old_dentry);
        struct inode * new_inode = d_inode(new_dentry);
 {
        struct inode * old_inode = d_inode(old_dentry);
        struct inode * new_inode = d_inode(new_dentry);
@@ -216,6 +217,9 @@ static int sysv_rename(struct inode * old_dir, struct dentry * old_dentry,
        struct sysv_dir_entry * old_de;
        int err = -ENOENT;
 
        struct sysv_dir_entry * old_de;
        int err = -ENOENT;
 
+       if (flags & ~RENAME_NOREPLACE)
+               return -EINVAL;
+
        old_de = sysv_find_entry(old_dentry, &old_page);
        if (!old_de)
                goto out;
        old_de = sysv_find_entry(old_dentry, &old_page);
        if (!old_de)
                goto out;