dazuko for linux 3.x?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

dazuko for linux 3.x?

Erik Miller
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]

_______________________________________________
Dazuko-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/dazuko-devel