Wiki Blog/2008-02-12Patch for aoeserver in Kernel 2.6.24While the kernel module aoeserver is very interesting, it seems to be quite dead - there is not even a mailing list for that project. Get the code from:
To get it to compile in kernel 2.6.24, I had to make some minor changes. Here's what 'svn diff' spit out:
Index: linux/drivers/block/aoeserver/aoeblock.c
===================================================================
--- linux/drivers/block/aoeserver/aoeblock.c (revision 4)
+++ linux/drivers/block/aoeserver/aoeblock.c (working copy)
@@ -387,7 +387,7 @@
/* reply skb */
buff = (char *)work->atareply + sizeof(struct aoe_atahdr);
- generic_file_read(work->abd->fp, buff,
+ do_sync_read(work->abd->fp, buff,
(work->atarequest->nsect * 512), &ppos);
break;
@@ -398,7 +398,7 @@
/* request skb */
buff = (char *)work->atarequest + sizeof(struct aoe_atahdr);
- generic_file_write(work->abd->fp, buff,
+ do_sync_write(work->abd->fp, buff,
(work->atarequest->nsect * 512), &ppos);
break;
Index: linux/drivers/block/aoeserver/aoeproc.c
===================================================================
--- linux/drivers/block/aoeserver/aoeproc.c (revision 4)
+++ linux/drivers/block/aoeserver/aoeproc.c (working copy)
@@ -58,7 +58,7 @@
seq_printf(s, "%-25s %-10d %-10d", abd->name,
abd->shelf, abd->slot);
if (abd->ifindex > 0)
- if ((dev = dev_get_by_index(abd->ifindex))) {
+ if ((dev = dev_get_by_index(&init_net, abd->ifindex))) {
seq_printf(s, "%s", dev->name);
dev_put(dev);
}
@@ -192,7 +192,7 @@
return (-EINVAL);
}
- dev = dev_get_by_name(argv[4]);
+ dev = dev_get_by_name(&init_net, argv[4]);
if (dev == NULL)
return (-EINVAL);
@@ -240,7 +240,7 @@
return (-EINVAL);
}
- dev = dev_get_by_name(argv[4]);
+ dev = dev_get_by_name(&init_net, argv[4]);
if (dev == NULL)
return (-EINVAL);
© Copyright 2004 - 2006 Nicola Fankhauser. All Rights Reserved. |