Re: LSF Papers online?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bartlomiej Zolnierkiewicz wrote:
I've started reading it and immediately noticed a thing which made by day. :-)

Sorry if it will sound off-topic or undiplomatic but it is the best occasion
to straighten up some facts:

 "Discussion then moved on to the current status of getting libata out of
  SCSI: we have had several successes, notably timer handling and pieces of
  error handling have moved up to block. Unfortunately, the current progress
  has reached the point where it's being impeded by the legacy IDE subsystem

Heh, you can also blame the lack of world peace on the legacy IDE subsystem.

I wonder who came up with this ridiculous excuse (I'm sure it wasn't James!).

The thing is that during last _five_ years almost nothing was done in this
direction.  Despite the fact that it was #1 condition under which the whole
code has been merged.  Sorry to say it but it seems like the whole merge
strategy was to over-promise things now and worry about delivery later.

Yet, shockingly, users have been happily using libata despite all these horrors.


To make things worse all the "successes" quoted above are nothing else
like back-ridding on block layer and SCSI improvements which were done by
non-libata developers.

False. Tejun authored many of the changesets getting timer and error handling "moved up the stack."


  which is still relying on some very old fields and undocumented behavior
  of the block layer, since the next step is to simplify the block to low level

When it comes to block layer interactions the legacy IDE subsystem is just
another "dumb" (== very simple) block layer driver.

Hardly. The IDE driver has all sorts of special cases that no other block driver has. One must roll dice to see which of rq->special, ->buffer, ->data and ->sense is filled in, and at what times. Is ->buffer, ->data, etc. pointing to a buffer... or an opaque kernel data structure? None of this is clear or documented.

REQ_TYPE_ATA_* is still around. Overall the consistency of request handling across the IDE class drivers is low. ide-tape sticks out like a sore thumb with its use of current_nr_sectors.

IDE's interactions with the block layer are quite complex and opaque, compared to other block drivers.

	Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux