Unionfs: minor code cleanups
authorErez Zadok <ezk@cs.sunysb.edu>
Tue, 15 Apr 2008 23:45:42 +0000 (19:45 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Tue, 15 Apr 2008 23:45:42 +0000 (19:45 -0400)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/commonfops.c
fs/unionfs/inode.c

index 50f4eda1ab6c9cfbb2252e086e19fd808c2490bf..0fc79633af16911ee6f9590040e1769f07fe278e 100644 (file)
@@ -250,7 +250,6 @@ static int do_delayed_copyup(struct file *file)
        BUG_ON(!S_ISREG(dentry->d_inode->i_mode));
 
        unionfs_check_file(file);
-       unionfs_check_dentry(dentry);
        for (bindex = bstart - 1; bindex >= 0; bindex--) {
                if (!d_deleted(dentry))
                        err = copyup_file(parent_inode, file, bstart,
@@ -292,7 +291,6 @@ static int do_delayed_copyup(struct file *file)
 
 out:
        unionfs_check_file(file);
-       unionfs_check_dentry(dentry);
        return err;
 }
 
index 64ff508a736e6016f343a90518d2bfdee2e92eae..c490303a6d3f9c18ad83ed4a4ec044d2f33096b7 100644 (file)
@@ -388,28 +388,23 @@ docopyup:
                                            bindex, old_dentry->d_name.name,
                                            old_dentry->d_name.len, NULL,
                                            i_size_read(old_dentry->d_inode));
-                       if (!err) {
-                               lower_new_dentry =
-                                       create_parents(dir, new_dentry,
-                                                      new_dentry->d_name.name,
-                                                      bindex);
-                               lower_old_dentry =
-                                       unionfs_lower_dentry(old_dentry);
-                               lower_dir_dentry =
-                                       lock_parent(lower_new_dentry);
-                               /*
-                                * see
-                                * Documentation/filesystems/unionfs/issues.txt
-                                */
-                               lockdep_off();
-                               /* do vfs_link */
-                               err = vfs_link(lower_old_dentry,
-                                              lower_dir_dentry->d_inode,
-                                              lower_new_dentry);
-                               lockdep_on();
-                               unlock_dir(lower_dir_dentry);
-                               goto check_link;
-                       }
+                       if (err)
+                               continue;
+                       lower_new_dentry =
+                               create_parents(dir, new_dentry,
+                                              new_dentry->d_name.name,
+                                              bindex);
+                       lower_old_dentry = unionfs_lower_dentry(old_dentry);
+                       lower_dir_dentry = lock_parent(lower_new_dentry);
+                       /* see Documentation/filesystems/unionfs/issues.txt */
+                       lockdep_off();
+                       /* do vfs_link */
+                       err = vfs_link(lower_old_dentry,
+                                      lower_dir_dentry->d_inode,
+                                      lower_new_dentry);
+                       lockdep_on();
+                       unlock_dir(lower_dir_dentry);
+                       goto check_link;
                }
                goto out;
        }