Date: Tue, 13 Aug 2013 19:46:56 -0700 From: Sean Bruno <sean_bruno@yahoo.com> To: sbruno@freebsd.org Cc: "FreeBSD-scsi@freebsd.org" <FreeBSD-scsi@freebsd.org> Subject: Re: Dell H310, JBOD mode "hard error" Message-ID: <1376448416.1439.7.camel@localhost> In-Reply-To: <1373822621.1431.5.camel@localhost> References: <1373822621.1431.5.camel@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-F13hOyrzBOZjHaUmC312 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable On Sun, 2013-07-14 at 10:23 -0700, Sean Bruno wrote: > Not sure what to make of this. I've tested a lot of svn revisions of > the thunderbolt code, but nothing looks obvious. =20 >=20 > When I use a single drive in "SYSPD" mode on a Dell H310 (falcon or > skinny drake) I get a /dev/mfisyspd0 device. The JBOD mode *seems* to > work just fine as long as I don't do multiple things at once to it, e.g. > single user fsck works, but multiuser things die. >=20 > I get a failure case that emits errors such as: >=20 > g_vfs_done():error 27 in callback > mfisyspd0p2[READ(offset=3D7176192, length=3D425984)]mfisyspd0: hard error > error =3D 5 > cmd=3Dread 15360-16383 > error 27 in callback > g_vfs_done():mfisyspd0: hard error mfisyspd0p2[READ(offset=3D7602176, > length=3D524288)]cmd=3Dread error =3D 5 > 16384-17407 > error 27 in callback > g_vfs_done():mfisyspd0: hard error mfisyspd0p2[READ(offset=3D8126464, > length=3D524288)]cmd=3Dread error =3D 5 > 14560-15359 > error 27 in callback > g_vfs_done():mfisyspd0: hard error mfisyspd0p2[READ(offset=3D7192576, > length=3D409600)]cmd=3Dread error =3D 5 > 15360-16383 >=20 >=20 > Sean Ah, I see something that Yahoo! does that FreeBSD does not finally. We tune MAXPHYS *up* to (512 * 1024) because of performance and available memory. mfi(4) set's its own (MFI_MAXPHYS) to (128 * 1024) instead of using the value from sys/param.h (btw, I don't quite get why, but whatever). Without a min() check in mfi_syspd.c that mimics the one in mfi_disk.c, Yahoo code falls over in "SYSPD" mode (mfi(4) real jbod mode). Patch: Index: mfi_syspd.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- mfi_syspd.c (revision 254313) +++ mfi_syspd.c (working copy) @@ -128,7 +128,9 @@ sc->pd_disk->d_drv1 =3D sc; sc->pd_disk->d_maxsize =3D sc->pd_controller->mfi_max_io * secsize; sc->pd_disk->d_name =3D "mfisyspd"; - sc->pd_disk->d_open =3D mfi_syspd_open; + sc->pd_disk->d_maxsize =3D min(sc->pd_controller->mfi_max_io * secsize, + (sc->pd_controller->mfi_max_sge - 1) * PAGE_SIZE); + sc->pd_disk->d_close =3D mfi_syspd_close; sc->pd_disk->d_strategy =3D mfi_syspd_strategy; sc->pd_disk->d_dump =3D mfi_syspd_dump; <bcc smh, ambrisko, scottl> --=-F13hOyrzBOZjHaUmC312 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (FreeBSD) iQEcBAABAgAGBQJSCu+YAAoJEBkJRdwI6BaHFRUH/RD/SQ97OjATNreOBaoRoYoT hmIEbtI1fxTP/vaFn2qOMupKSNdfR2MSD+znECkDcHYHtuLt6oL6Mey1WqP0KbLE QTndpxa8o8BZd8+6FuhcL7wnUQqtdH6MZM2arCanF0CVHBK4mj2jdCqY02HRkcoi UpL1VZklj8+ruk+BSpA2VaKKRuSnxMVsh1OZWDtOhSx6BSqWGnfDAxY5E/n9DnAJ vJ+gjLAVaZni0qgb85+rrBTxYfwMfoUrhCe5KU6Pw6gE3LPYpQ8E3n3YuEjdglst pHnaDQWLqqvm9b2jSsy0nEf0J8yfYjy2Laat31yuLEoAgJnl3vFVTYcPE0FwvOc= =TPi7 -----END PGP SIGNATURE----- --=-F13hOyrzBOZjHaUmC312--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1376448416.1439.7.camel>