public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: David Newall <david@davidnewall.com>,
	Matthew Wilcox <matthew@wil.cx>,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	Suparna Bhattacharya <suparna@in.ibm.com>,
	Nick Piggin <piggin@cyberone.com.au>
Subject: Re: What still uses the block layer?
Date: Mon, 15 Oct 2007 04:26:04 -0500	[thread overview]
Message-ID: <200710150426.04924.rob@landley.net> (raw)
In-Reply-To: <4712FE33.3000400@s5r6.in-berlin.de>

On Monday 15 October 2007 12:44:19 am Stefan Richter wrote:
> Rob Landley wrote:
> > I was at least attempting to ask a serious question.
>
> ...
>
> > Actually, I was going through Documentation/block thinking about making a
> > 00-INDEX for it, but my earlier questions of the scsi guys left me with
> > the impression that the block layer is _not_ used by the SCSI layer.
>
> Ah, so it was about your documentation work.

Well, triggered by.  (This documentation stuff makes me poke into corners of 
the kernel I ordinarily otherwise avoid, for various reasons.  I don't 
currently have the luxury of saying "beats me how this bit works, not my 
area".)

> I already forgot the 
> context of your previous inquiries.  Alas the tone of them already did
> some damage, leading to responses like these.

Sorry about that.  My social skills are finite, I tend to exhaust them when I 
do too much at once. :(

The resulting documentation should be very polite and apolitical. :)

> > since
> > every non-embedded modern storage device I'm aware of has been consumed
> > by the SCSI layer (despite none of them actually having a discernably
> > closer relationship to SCSI than ATA did)
>
> The Linux SCSI subsystems don't consume, they provide services; nowadays
> not only for SCSI hardware and SCSI protocols but also for a number of
> subsystems whose tasks are similar enough to SCSI subsystems to make the
> SCSI core and upper SCSI layer useful to them too.

This discussion has clarified for me that my objection isn't the scsi layer 
itself, it's the /dev/sd? namespace combining devices that would otherwise 
be /dev/hda, /dev/nd0, /dev/ub0 (or usb0 or some such), and /dev/sata into a 
single linear namespace that's unreliably ordered. 

> BTW:
> | Now that IDE disks have been rerouted through the scsi layer, SATA goes
> | through the scsi layer, USB goes through the scsi layer, firewire goes
> | through the scsi layer...
>
> As a side note, SBP-2 is a SCSI transport protocol, hence ieee1394/sbp2
> and firewire/fw-sbp2 are Linux SCSI low-level drivers.  Anything else
> would be just wrong and infeasible in this particular case.

My "scsi mid layer" vs "block layer" question was about whether I should read 
up on the block layer if the scsi mid layer didn't use it.  Neil Brown just 
sent me a nice email (which I'll have to reread in the morning when I'm more 
awake) that helps there.

The "ide/sata/usb/firewire->scsi" complaint didn't belong in the same email as 
the original question, it's a line of questioning I put on hold on linux-scsi 
back in August when the thread started getting a bit heated for my tastes.

To clarify, I think that merging ide, sata, usb, firewire, and others into a 
single device namespace causes each type of device to inherit that 
namespace's cumulative ordering issues, which is a bad thing.  I have no real 
attachment to the underlying scsi or block layers.  I've never seriously 
worked on either (although I'm trying to understand both).

For example, usb devices are never easy to order.  IDE devices (back when they 
had their own namespace) were trivial to order back when /dev/hda couldn't 
move without use of a screwdriver.  USB and IDE devices are very different in 
that it's not possible to plug a USB device into an IDE controller (not 
without one _heck_ of an adapter) and vice versa.  USB devices usually live 
outside the computer's case, and IDE devices inside the case.  They're not 
the same thing.

Combining USB and IDE into the same /dev/sd? namespace makes enumerating the 
IDE devices much harder than in the traditional "/dev/hdb doesn't move 
without a screwdriver" model.  The merger creates a new problem for IDE, one 
which didn't exist before: the addition or removal of other unrelated types 
of devices may change this device's location next boot.  It may be possible 
to add additional complication to the system to compensate, but what was the 
advantage of merging the namespaces in the first place?

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.

  reply	other threads:[~2007-10-15  9:26 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-12  1:11 What still uses the block layer? Rob Landley
2007-10-13 22:05 ` Matthew Wilcox
2007-10-14  5:54   ` David Newall
2007-10-14 17:46     ` Stefan Richter
2007-10-14 22:35       ` Tilman Schmidt
2007-10-14 23:36       ` Rob Landley
2007-10-15  1:23         ` Neil Brown
2007-10-15  5:44         ` Stefan Richter
2007-10-15  9:26           ` Rob Landley [this message]
2007-10-15 16:08             ` Matthew Wilcox
2007-10-15 17:10               ` Stefan Richter
2007-10-16  3:06                 ` david
2007-10-16  5:56                   ` Stefan Richter
2007-10-16 10:19                   ` Alan Cox
2007-10-16 19:54                     ` david
2007-10-16 19:54                       ` Matthew Wilcox
2007-10-16 20:18                         ` Stefan Richter
2007-10-16 20:34                         ` Theodore Tso
2007-10-16 20:56                           ` Stefan Richter
2007-10-16 20:55                         ` david
2007-10-16 21:49                           ` Alan Cox
2007-10-17  9:48                           ` Gabor Gombas
2007-10-17 17:23                             ` Stefan Richter
2007-10-17 21:04                             ` david
2007-10-15 20:29             ` Wilfried Klaebe
2007-10-14 22:24   ` James Bottomley
2007-10-14 23:45     ` Rob Landley
2007-10-15  1:45       ` Theodore Tso
2007-10-15  8:04         ` Rob Landley
2007-10-15  9:06           ` Julian Calaby
2007-10-15 10:08             ` Rob Landley
2007-10-15 17:33               ` Greg KH
2007-10-16  2:54                 ` david
2007-10-16  4:04                   ` Matthew Wilcox
2007-10-16  4:11                     ` Arjan van de Ven
2007-10-16  4:15                     ` david
2007-10-16  4:21                     ` Greg KH
2007-10-16  5:00                       ` david
     [not found]               ` <646765f40710150327i78519a0fvaea7a83d5975b180@mail.gmail.com>
     [not found]                 ` <200710151511.29748.rob@landley.net>
2007-10-15 23:49                   ` Julian Calaby
2007-10-15 10:32           ` Loïc Grenié
2007-10-15 21:09             ` Rob Landley
2007-10-15 11:19           ` Neil Brown
2007-10-15 21:34             ` Rob Landley
2007-10-15 21:46               ` Jeff Garzik
2007-10-15 22:01               ` Alan Cox
2007-10-15 23:41               ` Neil Brown
2007-10-16  2:12                 ` david
2007-10-15 13:21           ` Theodore Tso
2007-10-15 13:29             ` Alan Cox
2007-10-15 13:35               ` Theodore Tso
2007-10-15 17:44               ` Jeff Garzik
2007-10-15 14:46             ` Douglas Gilbert
2007-10-16  2:51             ` david
2007-10-15 13:37           ` OOM killer gripe (was Re: What still uses the block layer?) Nick Piggin
2007-10-15  9:52             ` Rob Landley
2007-10-15 15:08               ` Nick Piggin
2007-10-16  6:22                 ` David Newall
2007-10-20  9:48               ` Pavel Machek
2007-10-15 11:40             ` Theodore Tso
2007-10-20  9:50               ` Pavel Machek
2007-10-16  3:55             ` Eric W. Biederman
2007-10-16  4:10               ` david
2007-10-16  4:45                 ` Eric W. Biederman
2007-10-16  6:59               ` Nick Piggin
2007-10-16  4:38                 ` Eric W. Biederman
2007-10-16  6:38                   ` Rob Landley
2007-10-16  9:31                     ` Eric W. Biederman
2007-10-16 10:28                     ` Alan Cox
2007-10-16 23:59                       ` Rob Landley
2007-10-16  7:34                   ` Nick Piggin
2007-10-18 13:00                     ` Rogier Wolff
2007-10-19  6:49                       ` Rob Landley
2007-10-19  7:21                         ` Rogier Wolff
2007-10-16 20:37             ` Andrew Morton
2007-10-17  5:34           ` What still uses the block layer? Valdis.Kletnieks
2007-10-17  6:07             ` david
2007-10-15  6:00       ` Greg KH
2007-10-15  8:36         ` Rob Landley
2007-10-15 13:08           ` Alan Cox
2007-10-15 14:00           ` Arjan van de Ven
2007-10-15 18:56             ` Matthew Garrett
2007-10-15 17:25           ` Greg KH
2007-10-15 18:00             ` Matthew Wilcox
2007-10-15 18:46             ` Jeff Garzik
2007-10-16  6:33               ` Stefan Richter
2007-10-17 23:43               ` Bill Davidsen
2007-10-15 22:54             ` Rob Landley
2007-10-15  8:52         ` Christoph Hellwig
2007-10-15 13:10       ` James Bottomley
2007-10-15 21:51         ` Rob Landley
2007-10-15  0:45     ` Luben Tuikov
2007-10-15  6:51       ` Rob Landley
2007-10-15  8:37         ` Luben Tuikov

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=200710150426.04924.rob@landley.net \
    --to=rob@landley.net \
    --cc=david@davidnewall.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=piggin@cyberone.com.au \
    --cc=stefanr@s5r6.in-berlin.de \
    --cc=suparna@in.ibm.com \
    /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