Content-Type: multipart/alternative; boundary="_000_DFE3B626E00A3346A98511AD95B78358094520DAGN05AE6exg6exgh_" --_000_DFE3B626E00A3346A98511AD95B78358094520DAGN05AE6exg6exgh_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for the bugfix. Can you please build and run-time test the pre-release below, to verify tha= t it implements your fix? Also, please let me know if you don't want your = email address in the changelog. http://noserose.net/e/tmp/vblade-21pre1.tar.gz I'm attaching the updated patch, too, in case it gets through, after the li= nk to it below. http://noserose.net/e/tmp/vblade-20-21pre1.diff On Mar 4, 2013, at 3:53 PM, Daniel Mealha Cabrita wrote: > hi there > > > I've found and fixed a vblade (v20) bug which manifests itself in the fol= lowing > situation: > > - vblade host uses a big-endian processor (in our case, a POWER4). > - exported volume has > 128GB (requires LBA48). > > The AoE client (in our case, Linux 2.6.32) ignores/gets_confused_with the > LBA48 data and considers the LBA28 only, cropping the volume size to > MAXLBA28SIZE-1. Some erratic behavior may happen: some partitions do not > appear, unable to access root device etc. > > dmesg under Linux returns something like this: > > [5278516.938160] aoe: 00a1b0691845 e4.4 v4014 has 268435455 sectors > [5278516.938216] etherd/e4.4: p1 p2 < > > [5278516.938995] etherd/e4.4: p1 size 273874944 exceeds device capacity, > limited to end of disk > [5278516.939018] etherd/e4.4: p2 ignored, start 273879038 is behind the e= nd of > the disk > > > .dan > > Following, the patch against vblade-20: > > --------------------------------------- > diff -Nurp vblade-20/ata.c vblade-20_fixed_for_MSB_arch//ata.c > --- vblade-20/ata.c 2009-08-14 15:33:09.000000000 -0300 > +++ vblade-20_fixed_for_MSB_arch//ata.c 2013-03-04 17:39:44.000000000 -03= 00 > @@ -23,16 +23,7 @@ enum { > ERR =3D 1<<0, > }; > > -static ushort ident[256] =3D { > - [47] 0x8000, > - [49] 0x0200, > - [50] 0x4000, > - [83] 0x5400, > - [84] 0x4000, > - [86] 0x1400, > - [87] 0x4000, > - [93] 0x400b, > -}; > +static ushort ident[256]; > > static void > setfld(ushort *a, int idx, int len, char *str) // set field in ident > @@ -79,6 +70,16 @@ setlba48(ushort *ident, vlong lba) > *cp++ =3D lba >>=3D 8; > *cp++ =3D lba >>=3D 8; > } > + > +static void > +setushort(ushort *a, int idx, ushort x) > +{ > + uchar *cp; > + > + cp =3D (uchar *)(a+idx); > + *cp++ =3D x & 0xff; > + *cp++ =3D x >> 8; > +} > > void > atainit(void) > @@ -89,6 +90,15 @@ atainit(void) > sprintf(buf, "V%d", VBLADE_VERSION); > setfld(ident, 23, 8, buf); > setfld(ident, 10, 20, serial); > + > + setushort(ident, 47, 0x8000); > + setushort(ident, 49, 0x0200); > + setushort(ident, 50, 0x4000); > + setushort(ident, 83, 0x5400); > + setushort(ident, 84, 0x4000); > + setushort(ident, 86, 0x1400); > + setushort(ident, 87, 0x4000); > + setushort(ident, 93, 0x400b); > } > --------------------------------------- > > > -------------------------------------------------------------------------= ----- > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Aoetools-discuss mailing list > Aoetools-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/aoetools-discuss -- Ed Cashin ecashin@coraid.com --_000_DFE3B626E00A3346A98511AD95B78358094520DAGN05AE6exg6exgh_ Content-Type: text/html; charset="us-ascii" Content-ID: <46E368582774B542B17701815CD28D4E@exg6.exghost.com> Content-Transfer-Encoding: quoted-printable
Thanks for the bugfix.

Can you please build and run-time test the pre-release below, to verify tha= t it implements your fix?  Also, please let me know if you don't want = your email address in the changelog.

  http://no= serose.net/e/tmp/vblade-21pre1.tar.gz

I'm attaching the updated patch, too, in case it gets through, after the li= nk to it below.

  http://n= oserose.net/e/tmp/vblade-20-21pre1.diff



On Mar 4, 2013, at 3:53 PM, Daniel Mealha Cabrita wrote:

> hi there
>
>
> I've found and fixed a vblade (v20) bug which manifests itself in the = following
> situation:
>
> - vblade host uses a big-endian processor (in our case, a POWER4).
> - exported volume has > 128GB (requires LBA48).
>
> The AoE client (in our case, Linux 2.6.32) ignores/gets_confused_with = the
> LBA48 data and considers the LBA28 only, cropping the volume size to <= br> > MAXLBA28SIZE-1. Some erratic behavior may happen: some partitions do n= ot
> appear, unable to access root device etc.
>
> dmesg under Linux returns something like this:
>
> [5278516.938160] aoe: 00a1b0691845 e4.4 v4014 has 268435455 sectors > [5278516.938216]  etherd/e4.4: p1 p2 < >
> [5278516.938995] etherd/e4.4: p1 size 273874944 exceeds device capacit= y,
> limited to end of disk
> [5278516.939018] etherd/e4.4: p2 ignored, start 273879038 is behind th= e end of
> the disk
>
>
> .dan
>
> Following, the patch against vblade-20:
>
> ---------------------------------------
> diff -Nurp vblade-20/ata.c vblade-20_fixed_for_MSB_arch//ata.c
> --- vblade-20/ata.c     2009-08-14 15:33:09.000000= 000 -0300
> +++ vblade-20_fixed_for_MSB_arch//ata.c 2013-03-04 17:39:4= 4.000000000 -0300
> @@ -23,16 +23,7 @@ enum {
>        ERR =3D   1<<= ;0,
> };
>
> -static ushort ident[256] =3D {
> -       [47] 0x8000,
> -       [49] 0x0200,
> -       [50] 0x4000,
> -       [83] 0x5400,
> -       [84] 0x4000,
> -       [86] 0x1400,
> -       [87] 0x4000,
> -       [93] 0x400b,
> -};
> +static ushort ident[256];
>
> static void
> setfld(ushort *a, int idx, int len, char *str) // set field in ident > @@ -79,6 +70,16 @@ setlba48(ushort *ident, vlong lba)
>        *cp++ =3D lba >&g= t;=3D 8;
>        *cp++ =3D lba >&g= t;=3D 8;
> }
> +
> +static void
> +setushort(ushort *a, int idx, ushort x)
> +{
> +       uchar *cp;
> +
> +       cp =3D (uchar *)(a+idx);=
> +       *cp++ =3D x & 0x= ff;
> +       *cp++ =3D x >>= 8;
> +}
>
> void
> atainit(void)
> @@ -89,6 +90,15 @@ atainit(void)
>        sprintf(buf, "V%d"= , VBLADE_VERSION);
>        setfld(ident, 23, 8, buf); >        setfld(ident, 10, 20, serial= );
> +
> +       setushort(ident, 47, 0x8000)= ;
> +       setushort(ident, 49, 0x0200)= ;
> +       setushort(ident, 50, 0x4000)= ;
> +       setushort(ident, 83, 0x5400)= ;
> +       setushort(ident, 84, 0x4000)= ;
> +       setushort(ident, 86, 0x1400)= ;
> +       setushort(ident, 87, 0x4000)= ;
> +       setushort(ident, 93, 0x400b)= ;
> }
> ---------------------------------------
>
>
> ----------------------------------------------------------------------= --------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/app= dyn_d2d_feb
> _______________________________________________
> Aoetools-discuss mailing list
> Aoetools-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/aoetools-discuss

--
  Ed Cashin
  ecashin@coraid.com


--_000_DFE3B626E00A3346A98511AD95B78358094520DAGN05AE6exg6exgh_--