From: Elias Oltmanns <eo@nebensachen.de>
To: Jens Axboe <jens.axboe@oracle.com>,
James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Linux specific scsi CDBs vs REQ_TYPE_LINUX_BLOCK requests
Date: Thu, 08 May 2008 19:43:18 +0200 [thread overview]
Message-ID: <87r6ccadzd.fsf@denkblock.local> (raw)
Hi Jens,
way back you introduced REQ_TYPE_LINUX_BLOCK requests as some sort of
generic block layer messages. As it turns out, it is not quite obvious
how to add support for this type of requests in the scsi subsystem
properly. On the other hand, Boaz Harrosh has recently added support for
variable length and in particular vendor specific CDBs to the scsi mid
layer. My question to you and James is this: Would it make sense, in
your opinion, to (ab)use BLOCK_PC requests carrying linux specific CDBs
for those purposes you had in mind when introducing LINUX_BLOCK
requests? This would make things much easier as far as scsi is concerned
and it would still be possible to add suport for this kind of requests
to non scsi drivers. On the other hand, this might constitute too
serious a violation of the layers and subsystems involved as I'm
not quite sure, for instance, where to keep the list of those linux
specific opcodes -- include/linux/blkdev.h and include/scsi/scsi.h both
don't seem quite right.
The reason why I'm bothering you with all this is that I'm trying to get
disk shock protection merged into mainline eventually; see the subthread
starting at [1] for a preliminary patch series. Since I want to make
this feature available to both, libata as well as ide, it is appealing
to put the common bits (the timer and the user interface) into the block
layer, thus avoiding code duplication. However, given the difficulties
to realise this approach sanely, it might be better to leave the block
layer out of it as far as possible. After all, it's the ATA specific
feature (immediate disk head unloading) I really care for and by means
of ioctls we could still provide an interface to userspace which doesn't
depend on whether the device is managed by libata or ide.
In fact, unless you are definitely in favour of the block layer approach
(as realised in [2]) and can give me a hint as to how I could solve the
problems described above, I will probably prepare a patch series using
ioctls and post it on linux-ide. The reason is that this approach might
even solve another problem I see further down the road.
Thank you for your advice,
Elias
[1] <http://permalink.gmane.org/gmane.linux.ide/29519>
[2] <http://permalink.gmane.org/gmane.linux.ide/29523>
next reply other threads:[~2008-05-08 17:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-08 17:43 Elias Oltmanns [this message]
2008-05-09 11:55 ` Linux specific scsi CDBs vs REQ_TYPE_LINUX_BLOCK requests Jens Axboe
2008-05-15 10:58 ` Elias Oltmanns
2008-05-15 20:17 ` Elias Oltmanns
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=87r6ccadzd.fsf@denkblock.local \
--to=eo@nebensachen.de \
--cc=James.Bottomley@hansenpartnership.com \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.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