Hi everybody, we have a coraid device with 15x1GB disks on it, and would like to use it with fbsd8 (zfs, etc). The http://support.coraid.com/support/freebsd/ is really outdated, and the port that creates the kernel module does not compile on FBSD8 (obviously!). Is there any effort on migrating the driver onto fbsd8 or should I plug the coraid on a linux system and use it from there? Thank you all in advance. -- George Mamalakis IT Officer Electrical and Computer Engineer (Aristotle Un. of Thessaloniki), MSc (Imperial College of London) Department of Electrical and Computer Engineering Faculty of Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379
On 10 September 2010 17:32, George Mamalakis <mamalos@eng.auth.gr> wrote:> ?Hi everybody, > > we have a coraid device with 15x1GB disks on it, and would like to use it > with fbsd8 (zfs, etc). The http://support.coraid.com/support/freebsd/ is > really outdated, and the port that creates the kernel module does not > compile on FBSD8 (obviously!). Is there any effort on migrating the driver > onto fbsd8 or should I plug the coraid on a linux system and use it from > there? >This change below looks obvious to me. Not sure if this is enough to make it work though. There are also might be issues with those interfaces which announce itself as IFT_ETHER, but have NULL if_input. # cat files/patch-dev-aoe-aoenet.c --- aoenet.c.orig 2006-05-25 16:10:11.000000000 +0000 +++ aoenet.c 2010-09-10 15:03:01.000000000 +0000 @@ -77,8 +77,11 @@ #define NECODES (sizeof(aoe_errlist) / sizeof(char *) - 1) #if (__FreeBSD_version < 600000) #define IFPADDR(ifp) (((struct arpcom *) (ifp))->ac_enaddr) +#elif (__FreeBSD_version < 700000) +#define IFPADDR(ifp) IFP2ENADDR(ifp) #else -#define IFPADDR(ifp) IFP2ENADDR(ifp) +#include <net/if_dl.h> +#define IFPADDR(ifp) IF_LLADDR(ifp) #endif #define IFLISTSZ 1024 @@ -223,7 +226,11 @@ m1->m_ext.ref_cnt = NULL; MEXTADD(m1, f->f_data, len, nilfn, +#if (__FreeBSD_version < 800000) NULL, 0, EXT_NET_DRV); +#else + f->f_data, NULL, 0, EXT_NET_DRV); +#endif m1->m_len = len; m1->m_next = NULL; } -- wbr, pluknet -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-dev-aoe-aoenet.c Type: application/octet-stream Size: 749 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20100910/74fe138a/patch-dev-aoe-aoenet.obj
On 13/09/2010 08:41, Max Khon wrote:> George, > > On Sat, Sep 11, 2010 at 12:12 AM, George Mamalakis > <mamalos@eng.auth.gr <mailto:mamalos@eng.auth.gr>> wrote: > > On 10/09/2010 19:05, pluknet wrote: > > On 10 September 2010 17:32, George > Mamalakis<mamalos@eng.auth.gr <mailto:mamalos@eng.auth.gr>> > wrote: > > Hi everybody, > > we have a coraid device with 15x1GB disks on it, and would > like to use it > with fbsd8 (zfs, etc). The > http://support.coraid.com/support/freebsd/ is > really outdated, and the port that creates the kernel > module does not > compile on FBSD8 (obviously!). Is there any effort on > migrating the driver > onto fbsd8 or should I plug the coraid on a linux system > and use it from > there? > > This change below looks obvious to me. > Not sure if this is enough to make it work though. > There are also might be issues with those interfaces which > announce > itself as IFT_ETHER, but have NULL if_input. > > # cat files/patch-dev-aoe-aoenet.c > --- aoenet.c.orig 2006-05-25 16:10:11.000000000 +0000 > +++ aoenet.c 2010-09-10 15:03:01.000000000 +0000 > @@ -77,8 +77,11 @@ > #define NECODES (sizeof(aoe_errlist) / sizeof(char *) - 1) > #if (__FreeBSD_version< 600000) > #define IFPADDR(ifp) (((struct arpcom *) (ifp))->ac_enaddr) > +#elif (__FreeBSD_version< 700000) > +#define IFPADDR(ifp) IFP2ENADDR(ifp) > #else > -#define IFPADDR(ifp) IFP2ENADDR(ifp) > +#include<net/if_dl.h> > +#define IFPADDR(ifp) IF_LLADDR(ifp) > #endif > #define IFLISTSZ 1024 > > @@ -223,7 +226,11 @@ > > m1->m_ext.ref_cnt = NULL; > MEXTADD(m1, f->f_data, len, nilfn, > +#if (__FreeBSD_version< 800000) > NULL, 0, EXT_NET_DRV); > +#else > + f->f_data, NULL, 0, EXT_NET_DRV); > +#endif > m1->m_len = len; > m1->m_next = NULL; > } > > > > Hi, and thanx for your quick reply. > > I patched my workdir on /usr/ports/net/aoe/work/dev/aoe but got > the following output, which probably suggests that we may be > talking about a different version you and me: > > > [root]# patch -p0 < patch-dev-aoe-aoenet.c > Hmm... Looks like a unified diff to me... > The text leading up to this was: > -------------------------- > > |--- aoenet.c.orig 2006-05-25 16:10:11.000000000 +0000 > |+++ aoenet.c 2010-09-10 15:03:01.000000000 +0000 > -------------------------- > Patching file aoenet.c using Plan A... > Hunk #1 failed at 77. > Hunk #2 failed at 226. > 2 out of 2 hunks failed--saving rejects to aoenet.c.rej > Hmm... Ignoring the trailing garbage. > done > > > After cd'ing into /usr/ports/net/aoe and giving make I got: > > [root]# make > ===> Configuring for aoe-1.2.0_1 > ===> Building for aoe-1.2.0_1 > ..... > ..... > aoenet.c:226:24: error: macro "MEXTADD" requires 8 arguments, but > only 7 given > aoenet.c: In function 'frame_mbufinit': > aoenet.c:225: error: 'MEXTADD' undeclared (first use in this function) > aoenet.c:225: error: (Each undeclared identifier is reported only once > aoenet.c:225: error: for each function it appears in.) > cc1: warnings being treated as errors > aoenet.c: In function 'aoenet_xmitbcast': > aoenet.c:278: warning: implicit declaration of function 'IFP2ENADDR' > aoenet.c:278: warning: nested extern declaration of 'IFP2ENADDR' > aoenet.c:278: warning: passing argument 2 of 'memcpy' makes > pointer from integer without a cast > aoenet.c: In function 'aoenet_enaddr': > aoenet.c:294: warning: return makes pointer from integer without a > cast > *** Error code 1 > > Stop in /usr/ports/net/aoe/work/dev/aoe. > *** Error code 1 > > Stop in /usr/ports/net/aoe. > > > Which was pretty obvious, since not much had been patched... > > I didn't include the whole output; the missing part is correct > compilation parts. > > Thanx again for your help, and if you could point me into the > right source code (or port, whatsoever), I could try your patch > and see whether the driver would be built. > > > You need to put that patch to ports/net/aoe/files. You can try to use > this version of the port (unpack it to /usr/ports/net): > http://people.freebsd.org/~fjoe/aoe.tar.gz > <http://people.freebsd.org/%7Efjoe/aoe.tar.gz> > > Max >Your patch worked fine, the driver compiled seamlessly, but I am unable to see more than 2T on my coraid device, even though it's size is 13T. I don't know whether this is a driver issue or fbsd issue. uname -a on my machine: [root@~]# uname -a FreeBSD lala 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Aug 31 13:54:36 EEST 2010 root@lala:/usr/obj/usr/src/sys/CUSTOM i386 Thanx again for your help, and since the driver seems to be working, you should maybe inform coraid regarding their driver on fbsd8. -- George Mamalakis IT Officer Electrical and Computer Engineer (Aristotle Un. of Thessaloniki), MSc (Imperial College of London) Department of Electrical and Computer Engineering Faculty of Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379
On 13/09/2010 16:20, Max Khon wrote:> George, > > On Mon, Sep 13, 2010 at 7:53 PM, Max Khon <fjoe@samodelkin.net > <mailto:fjoe@samodelkin.net>> wrote: > > Have you tried to contact coraid on this matter? > > > Can you try this port version? > > http://people.freebsd.org/~fjoe/aoe-2.tar.gz > <http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz> > > Max >Max, thank you very much for your help. The driver works fine; I am able to see all 13T. In case something goes wrong I will inform you. For the time being, everything is OK. mamalos -- George Mamalakis IT Officer Electrical and Computer Engineer (Aristotle Un. of Thessaloniki), MSc (Imperial College of London) Department of Electrical and Computer Engineering Faculty of Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379
George, On Tue, Sep 14, 2010 at 5:01 PM, George Mamalakis <mamalos@eng.auth.gr>wrote:> On Mon, Sep 13, 2010 at 7:53 PM, Max Khon <fjoe@samodelkin.net <mailto: > fjoe@samodelkin.net>> wrote: >> Have you tried to contact coraid on this matter? >> >> Can you try this port version? >> >> http://people.freebsd.org/~fjoe/aoe-2.tar.gz<http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz>< >> http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz> >> > > Max, > > thank you very much for your help. The driver works fine; I am able to see > all 13T. > In case something goes wrong I will inform you. For the time being, > everything is OK. >I committed the port to the FreeBSD ports tree: ports/net/aoe. I also committed ports/net/vblade (user-space AoE target) -- I used it for testing. I am not sure that it can be used in production due to possible performance problems. Max
On 14 September 2010 17:35, Max Khon <fjoe@samodelkin.net> wrote:> George, > > On Tue, Sep 14, 2010 at 5:01 PM, George Mamalakis <mamalos@eng.auth.gr>wrote: > > >> On Mon, Sep 13, 2010 at 7:53 PM, Max Khon <fjoe@samodelkin.net <mailto: >> fjoe@samodelkin.net>> wrote: >> > > >> ? ?Have you tried to contact coraid on this matter? >>> >>> Can you try this port version? >>> >>> http://people.freebsd.org/~fjoe/aoe-2.tar.gz<http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz>< >>> http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz> >>> >> >> Max, >> >> thank you very much for your help. The driver works fine; I am able to see >> all 13T. >> In case something goes wrong I will inform you. For the time being, >> everything is OK. >> > > I committed the port to the FreeBSD ports tree: ports/net/aoe. > > I also committed ports/net/vblade (user-space AoE target) -- I used it for > testing. I am not sure that it can be used in production due to possible > performance problems. >Thanks, Max. I wonder the port has not yet been in the Collection until now. -- wbr, pluknet
On 09/14/10 12:01, George Mamalakis wrote:> thank you very much for your help. The driver works fine; I am able to > see all 13T. > In case something goes wrong I will inform you. For the time being, > everything is OK.As it is a relatively uncommon protocol, can you run some tests and describe your experiences with AoE? Both good and bad experiences :) (if you need advice on which tests, try bonnie++, blogbench and randomio, all are under ports/benchmarks)
On 14/9/2010 4:35 ??, Max Khon wrote:> George, > > On Tue, Sep 14, 2010 at 5:01 PM, George Mamalakis <mamalos@eng.auth.gr > <mailto:mamalos@eng.auth.gr>> wrote: > > On Mon, Sep 13, 2010 at 7:53 PM, Max Khon <fjoe@samodelkin.net > <mailto:fjoe@samodelkin.net> <mailto:fjoe@samodelkin.net > <mailto:fjoe@samodelkin.net>>> wrote: > > Have you tried to contact coraid on this matter? > > Can you try this port version? > > http://people.freebsd.org/~fjoe/aoe-2.tar.gz > <http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz> > <http://people.freebsd.org/%7Efjoe/aoe-2.tar.gz> > > > Max, > > thank you very much for your help. The driver works fine; I am > able to see all 13T. > In case something goes wrong I will inform you. For the time > being, everything is OK. > > > I committed the port to the FreeBSD ports tree: ports/net/aoe. > > I also committed ports/net/vblade (user-space AoE target) -- I used it > for testing. I am not sure that it can be used in production due to > possible performance problems. > > Max >Max, good job! I will benchmark both drivers (fbsd and linux) to compare results. Thank you once more for your immediate actions and answers! Your have been profoundly quick and well targeted on your answers, no matter how easy it may have been for you to alter the existing code. Thumbs up to the fbsd community! great job man! mamalos -- George Mamalakis IT Officer Electrical and Computer Engineer (Aristotle Un. of Thessaloniki), MSc (Imperial College of London) Department of Electrical and Computer Engineering Faculty of Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379