Merge remote-tracking branch 'ovl/rename2' into for-linus
[cascardo/linux.git] / fs / hfs / dir.c
index 163190e..5de5c48 100644 (file)
@@ -268,7 +268,7 @@ static int hfs_remove(struct inode *dir, struct dentry *dentry)
        if (res)
                return res;
        clear_nlink(inode);
-       inode->i_ctime = CURRENT_TIME_SEC;
+       inode->i_ctime = current_time(inode);
        hfs_delete_inode(inode);
        mark_inode_dirty(inode);
        return 0;
@@ -286,10 +286,14 @@ static int hfs_remove(struct inode *dir, struct dentry *dentry)
  * XXX: how do you handle must_be dir?
  */
 static int hfs_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)
 {
        int res;
 
+       if (flags & ~RENAME_NOREPLACE)
+               return -EINVAL;
+
        /* Unlink destination if it already exists */
        if (d_really_is_positive(new_dentry)) {
                res = hfs_remove(new_dir, new_dentry);