commit 7e5567b409b272fdceeb5d069f6649c9c6bb30ca
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Sun May 20 18:43:18 2007 -0400

    looukup bug: moved check if nameidata is null before check for odf whiteout

diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c
index c571ee4..bc59b4a 100644
--- a/fs/unionfs/lookup.c
+++ b/fs/unionfs/lookup.c
@@ -73,6 +73,11 @@ struct dentry *unionfs_lookup_backend(struct dentry *dentry, 
struct nameidata *n
        name = dentry->d_name.name;
        namelen = dentry->d_name.len;
 
+       if (nd == NULL){
+               memset(&new_nd, 0, sizeof(struct nameidata));
+               nd = &new_nd;
+       }
+
        /* check if whiteout here */
        if (dentry && UNIONFS_D(dentry) && UNIONFS_D(dentry->d_parent)){
                err = odf_lookup(dentry->d_parent, dentry, 0);
@@ -93,10 +98,6 @@ struct dentry *unionfs_lookup_backend(struct dentry *dentry, 
struct nameidata *n
        bopaque = odf_get_opaque(parent_dentry->d_sb, parent_dentry);
        BUG_ON(bstart < 0);
 
-       if (nd == NULL){
-               memset(&new_nd, 0, sizeof(struct nameidata));
-               nd = &new_nd;
-       }
        /* It would be ideal if we could convert partial lookups to only have
         * to do this work when they really need to.  It could probably improve
         * performance quite a bit, and maybe simplify the rest of the code.
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to