commit f484825301247593ecf9dbed039081725ed3cc8b
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sun Mar 4 21:10:52 2007 -0500

    yet another rename fix

diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c
index 5552f84..ef8dac5 100644
--- a/fs/unionfs/rename.c
+++ b/fs/unionfs/rename.c
@@ -140,6 +140,7 @@ static int do_unionfs_rename(struct inode *old_dir,
        int local_err = 0;
        int eio = 0;
        int revert = 0;
+       int new_opaque = UNIONFS_D(new_dentry->d_parent)->odf_info->opaque;
 
        old_bstart = dbstart(old_dentry);
        old_bend = dbend(old_dentry);
@@ -168,6 +169,8 @@ static int do_unionfs_rename(struct inode *old_dir,
                do_copyup = 1;
        else if (new_bstart < old_bstart)
                do_copyup = 1;
+       else if (new_opaque != -1 && new_opaque < old_bstart)
+               do_copyup = 1;
        else
                revert = 1;
 
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to