commit 1b7acd2e9eed579f7fab44ad7e2ca85a4cf64e25
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Wed Apr 4 16:06:07 2007 -0400

    hardlinks lazy detection

diff --git a/fs/unionfs/dirhelper.c b/fs/unionfs/dirhelper.c
index 633f611..aeec6fe 100644
--- a/fs/unionfs/dirhelper.c
+++ b/fs/unionfs/dirhelper.c
@@ -753,6 +753,8 @@ retry:
                        O_TRUNC|O_CREAT|O_WRONLY);
        if (IS_ERR(odf_file)){
                err = PTR_ERR(odf_file);
+               dput(d_odf);
+               mntput(UNIONFS_SB(sb)->odf->mnt);
                odf_file = NULL;
                goto out;
        }
diff --git a/fs/unionfs/odf.c b/fs/unionfs/odf.c
index 548f99a..7268e15 100644
--- a/fs/unionfs/odf.c
+++ b/fs/unionfs/odf.c
@@ -1404,7 +1404,7 @@ struct odf_dentry_info *odf_ic_dentry(struct odf_sb_info 
*osi, u64 ino, char *na
 
        memset(tmp_name,0,6);
        sprintf(tmp_name, "%x", breakdown[0]);
-       odis[0] = __odf_lookup(osi, odi_ic, tmp_name, strlen(tmp_name), 
ODF_LOOKUP_DIR, NULL);
+       odis[0] = odf_lookup_name(osi, odi_ic, tmp_name, strlen(tmp_name), 
ODF_LOOKUP_DIR, NULL);
        if (IS_ERR(odis[0])) {
                err = PTR_ERR(odis[0]);
                odis[0] = NULL;
@@ -1413,7 +1413,7 @@ struct odf_dentry_info *odf_ic_dentry(struct odf_sb_info 
*osi, u64 ino, char *na
        for (i = 1; i < 4; i++) {
                memset(tmp_name,0,6);
                sprintf(tmp_name, "%x", breakdown[i]);
-               odis[i] = __odf_lookup(osi, odis[i-1], tmp_name, 
strlen(tmp_name), ODF_LOOKUP_DIR, NULL);
+               odis[i] = odf_lookup_name(osi, odis[i-1], tmp_name, 
strlen(tmp_name), ODF_LOOKUP_DIR, NULL);
                if (IS_ERR(odis[i])) {
                        err = PTR_ERR(odis[i]);
                        odis[i] = NULL;
@@ -1421,7 +1421,7 @@ struct odf_dentry_info *odf_ic_dentry(struct odf_sb_info 
*osi, u64 ino, char *na
                }
        }
        
-       odi_ret = __odf_lookup(osi, odis[3], name, namelen, ODF_LOOKUP_FILE, 
NULL);
+       odi_ret = odf_lookup_name(osi, odis[3], name, namelen, ODF_LOOKUP_FILE, 
NULL);
        if (IS_ERR(odi_ret)) {
                err = PTR_ERR(odi_ret);
                odi_ret = NULL;
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to