dazuko-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dazuko-devel] dazuko for linux 3.x?


From: Erik Miller
Subject: [Dazuko-devel] dazuko for linux 3.x?
Date: Wed, 25 Apr 2012 19:42:38 -0400

This project has been stagnant for a while. I wanted to see how hard
it would be to get it running with a 3.0 or 3.2 linux kernel.  I'm not
a strong programmer, but I started converting it over today. With any
luck maybe we can get it working again.

it compiles okay, but it doesn't appear to do anything. I think the
problem might be in the dazukofs_d_compare function in the dentry.c
file, ~= line 159, which was not converted over correctly.

Anyone have any ideas?

[CODE]
diff -r -u a/dazukofs-3.1.4/dentry.c b/dazukofs-3.1.4/dentry.c
--- a/dazukofs-3.1.4/dentry.c   2010-05-30 06:58:04.000000000 -0400
+++ b/dazukofs-3.1.4/dentry.c   2012-04-25 16:32:41.777027772 -0400
@@ -116,10 +116,11 @@
 {
        struct dentry *lower_dentry = get_lower_dentry(dentry);

+       struct inode *lower_inode = get_lower_inode(dentry);
        if (!lower_dentry->d_op || !lower_dentry->d_op->d_hash)
                return 0;

-       return lower_dentry->d_op->d_hash(lower_dentry, name);
+       return lower_dentry->d_op->d_hash(lower_dentry, lower_inode, name);
 }

 /**
@@ -160,8 +161,9 @@
 {
        struct dentry *lower_dentry = get_lower_dentry(dentry);

+       struct inode  *lower_inode  = get_lower_inode(dentry->d_inode);
        if (lower_dentry->d_op && lower_dentry->d_op->d_compare)
-               return lower_dentry->d_op->d_compare(lower_dentry, a, b);
+               return lower_dentry->d_op->d_compare(lower_dentry, lower_inode,
NULL, NULL, 0, a, b);

        if (a->len != b->len)
                return 1;
diff -r -u a/dazukofs-3.1.4/super.c b/dazukofs-3.1.4/super.c
--- a/dazukofs-3.1.4/super.c    2010-10-16 12:03:57.000000000 -0400
+++ b/dazukofs-3.1.4/super.c    2012-04-25 16:43:21.621011272 -0400
@@ -160,7 +160,8 @@
        int err;

        memset(&nd, 0, sizeof(struct nameidata));
-       err = path_lookup(dev_name, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &nd);
+
+       err = kern_path(dev_name, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &nd.path);
        if (err)
                return err;

@@ -206,7 +207,7 @@
        struct super_block *sb;
        int err;

-       err = get_sb_nodev(fs_type, flags, data, dazukofs_fill_super, mnt);
+       err = mount_nodev(fs_type, flags, data, dazukofs_fill_super);
        if (err)
                goto out;

@@ -306,7 +307,7 @@
 static struct file_system_type dazukofs_fs_type = {
        .owner          = THIS_MODULE,
        .name           = "dazukofs",
-       .get_sb         = dazukofs_get_sb,
+       .mount          = dazukofs_get_sb,
        /*
         * XXX: We are using kill_anon_super() instead of my own function.
         *      Is this OK?
[/CODE]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]