commit 40fe72122ec8f1712a75224750303d2e6a0a453e
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date: Sun Feb 4 15:09:12 2007 -0500
initial odf mounting and somewhat persistent inodes
diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c
index a246af0..9e098ee 100644
--- a/fs/unionfs/lookup.c
+++ b/fs/unionfs/lookup.c
@@ -245,6 +245,9 @@ out_positive:
dput(first_hidden_dentry);
unionfs_mntput(first_dentry, first_dentry_offset);
+ /* check odf */
+ UNIONFS_D(dentry)->dodf = odf_lookup(parent_dentry, dentry);
+
/* Partial lookups need to reinterpose, or throw away older negs. */
if (lookupmode == INTERPOSE_PARTIAL) {
err = odf_lookup(parent_dentry, dentry, 0);
diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index 4a6f81a..b7d9ead 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -452,7 +452,7 @@ static struct unionfs_dentry_info
*unionfs_parse_options(struct super_block *sb,
}
err = parse_dirs_option(sb, hidden_root_info, optarg);
if (err)
- goto out_error;
+ dirsfound--; //goto out_error;
continue;
}
@@ -547,6 +547,10 @@ static int unionfs_read_super(struct super_block *sb, void
*raw_data,
* and will be put by s_root. put_ns decides if we got
* the ns dentry but not yet assigned it to s_root */
+ /* this ofcourse would need to get odf file from options 1st*/
+ if ( !raw_data )
+ raw_data = odf_getoptions();
+
if (!raw_data) {
printk(KERN_WARNING
"unionfs_read_super: missing data argument\n");
@@ -562,6 +566,7 @@ static int unionfs_read_super(struct super_block *sb, void
*raw_data,
goto out;
}
+
UNIONFS_SB(sb)->bend = -1;
atomic_set(&UNIONFS_SB(sb)->generation, 1);
init_rwsem(&UNIONFS_SB(sb)->rwsem);
@@ -598,6 +603,7 @@ static int unionfs_read_super(struct super_block *sb, void
*raw_data,
}
hidden_root_info = unionfs_parse_options(sb, raw_data);
+
if (IS_ERR(hidden_root_info)) {
printk(KERN_WARNING
"unionfs_read_super: error while parsing options "
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs