public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Pat LaVarre <p.lavarre@ieee.org>
Cc: dougg@torque.net, linux-scsi@vger.kernel.org
Subject: Re: sense visible despite ide-floppy in 2.6 maybe
Date: Wed, 9 Jun 2004 10:00:13 +0200	[thread overview]
Message-ID: <20040609080013.GS13836@suse.de> (raw)
In-Reply-To: <1086710016.3647.4.camel@patibmrh9>

On Tue, Jun 08 2004, Pat LaVarre wrote:
> Doug G:
> 
> Did I do something wrong, or does "everyone know" already,
> 
> SCSI pass thru in 2.6 omits ide-floppy, except if we do resort to the
> ide-scsi deprecated there?
> 
> Or more specifically,
> 
> Can ioctl SG_IO fetch the offset 7 Additional Length field of op x03
> "REQUEST SENSE" data?
> 
> Naively I thought yes of course, I know that works with /dev/scd$n.
> 
> But then I tried a /dev/hd$v ide-floppy.  No joy.  perror tells me ioctl
> SG_IO fails via "Invalid argument", dmesg has no comment.  sg_scan you
> know.  ~/bin/sgio source is the trivial exercise quoted in source far
> below, specifically with an O_NONBLOCK|O_RDWR open as you can see.

Hmm fudge. There are two problems - first you need to pass through SG_IO
ioctl from the ide layer, ide-cd gets it through cdrom.c currently.
That's the easy part, attached.

Secondly, you need to map struct request to a idefloppy_pc_t packet
command. Currently it just passes through START_STOP, it could in fact
handle any request that doesn't carry data though:

idefloppy_blockpc_cmd()
{
	if (rq->data_len)
		return 1;
	if (rq->cmd_len > sizeof(pc->c))
		return 1;

	idefloppy_init_pc(pc);
	memcpy(pc->c, rq->cmd, sizeof(pc->c));
	return 0;
}

For data transfer, it's more tricky. Well actually, if you restrict
yourself to non-bio backed request, then it becomes pretty trivial!
ide-floppy expects a contig buffer, a bio is scattered by nature.

-- 
Jens Axboe


  reply	other threads:[~2004-06-09  8:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-08 15:53 sense visible despite ide-floppy in 2.6 maybe Pat LaVarre
2004-06-09  8:00 ` Jens Axboe [this message]
2004-06-09  8:20   ` Jens Axboe
2004-06-09 16:22     ` Pat LaVarre
2004-06-09 17:37       ` Jens Axboe
2004-06-09 18:29       ` Pat LaVarre
2004-06-09 18:51         ` Pat LaVarre
2004-06-09 23:30           ` Pat LaVarre
2004-06-11  9:30             ` Jens Axboe
2004-06-11  9:38               ` Jens Axboe
2004-06-13 18:48                 ` Pat LaVarre
2004-06-13 19:58                   ` Jens Axboe
2004-06-11  9:24           ` Jens Axboe
2004-06-11  9:24         ` Jens Axboe
2004-06-11  0:23 ` Douglas Gilbert
2004-06-11  2:08   ` Willem Riede
2004-06-13 18:21   ` Pat LaVarre
2004-06-13 19:06   ` Pat LaVarre
2004-06-14  6:39     ` Douglas Gilbert
2004-06-13 20:00   ` Jens Axboe
2004-06-17 19:03     ` Pat LaVarre
2004-06-17 19:12       ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040609080013.GS13836@suse.de \
    --to=axboe@suse.de \
    --cc=dougg@torque.net \
    --cc=linux-scsi@vger.kernel.org \
    --cc=p.lavarre@ieee.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox