On Sun, Mar 16, 2008 at 11:28:09AM -0500, Tracy Di Marco White wrote:
>
> In message <16137.1205684629%menelos.com@localhost>, Tracy Di Marco White
> writes:
> >
> >I've needed to add emulation for the SCSI Test Unit Ready command
> >to my backup server, so I could run Sony's tape diagnostics.
> >It's fairly simple, but is it the correct flag to use for that?
> >The patch below is what I'm using on my 4.0 backup server.
> >
> >-Tracy
>
> Once more with -u
>
> Index: linux_sg.c
> ===================================================================
> RCS file: /cvsroot/src/sys/compat/linux/common/linux_sg.c,v
> retrieving revision 1.8
> diff -u -r1.8 linux_sg.c
> --- linux_sg.c 13 Sep 2006 00:51:12 -0000 1.8
> +++ linux_sg.c 16 Mar 2008 16:26:12 -0000
> @@ -107,11 +107,17 @@
> (void)memset(&req, 0, sizeof(req));
> switch (lreq.dxfer_direction) {
> case SG_DXFER_TO_DEV:
> + /* e.g. a SCSI WRITE command */
> req.flags = SCCMD_WRITE;
> break;
> case SG_DXFER_FROM_DEV:
> + /* e.g. a SCSI READ command */
> req.flags = SCCMD_READ;
> break;
> + case SG_DXFER_NONE:
> + /* e.g. a SCSI Test Unit Ready command */
> + req.flags = SCCMD_ESCAPE;
I don't think that's correct. I think you want "0", not SCCMD_ESCAPE. At
least that's what scsictl tur uses as best I can tell.
I think you are correct, though, to add something for SG_DXFER_NONE. :-)
> + break;
> default:
> DPRINTF(("unknown direction %d\n",
> lreq.dxfer_direction));
Attachment:
pgp2eeSKWf584.pgp
Description: PGP signature