Re: [Fwd: [RFT] major libata update]

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

 



Jeff Garzik wrote:
> Jens Axboe wrote:
> 
>> On Tue, May 16 2006, Jeff Garzik wrote:
>>
>>> James Bottomley wrote:
>>>
>>>> On Tue, 2006-05-16 at 12:12 -0400, Jeff Garzik wrote:
>>>>
>>>>> Its an API-which-only-libata-uses that we're discussing.  And
>>>>> because its moving to the block layer, its also a
>>>>> temporary-API-which-only-libata-uses.
>>>>
>>>> OK ... this may be the root of the problem.  I really would like libata
>>>> to migrate to being block only ... especially as PATA looks to be
>>>> trying
>>>> to follow you into the SCSI subsystem.  However, this has been the
>>>> statement for the past two years (at least), and really, few
>>>> enhancements have been made to block that you need to make good on
>>>> this.
>>>> I think one of the things we'll try to find time to do at the storage
>>>> summit is to take a hard look at block to see exactly what has to be
>>>> added to make libata solely dependent upon it.
>>>
>>> 100% agreed...
>>
>>
>> Ditto! I'd be more than willing to implement some of these features (and
>> already started to, the per command timeout for instance), but I was
>> starting to write off libata moving to block as a silly pipe dream in
>> all honesty... But if momentum is picking up behind this move, then I'll
>> all for it.
> 
> 
> Just gotta be patient.  Rome wasn't built in a day, and all that :)
> 
> Like I mentioned in another message, the ideal world is that libata uses
> an ATA disk driver and a SCSI MMC driver -- just like a modern SAS
> controller (which likely supports SATA too) will use both an ATA disk
> driver and a SCSI disk driver.
> 
> Given this "ideal world", its IMO best that the "storage driver"
> infrastructure lives in the block layer not SCSI layer.

LSI have chosen to put a SAT layer in the HBA firmware
of their MPT fusion SAS cards. This makes both directly
connected SATA disks (not strictly speaking SAS) and
expander connected SATA disks (using the STP protocol)
look like SCSI devices to the OS. Interestingly LSI have
chosen not to implement the ATA PASSTHROUGH scsi commands
at this time. That makes the job of smartmontools
difficult.

More generally if you start putting SATA disks in a
multi-initiator fabric (FC or SAS) then there are
issues that need to be addressed. One issue is
when two initiators try to access a SATA disk at
around the same time. SAS has optional "affiliations"
for protecting individual SATA commands but I'm
unaware of anything like SCSI's persistent reservations.
In the case of SAS affiliations, as far as I can
see, some additional help is needed via SAS's
management protocol (SMP). Command queueing (at
the disk) is another issue.

A SAT layer in the OS (e.g. like libata) may not
be able address these issues, but a SATL in (or
aware of) the transport might.

So the point I'm making is the appropriate command
set(s) for a hard disk not only depends on what the
device itself talks, but also the way in which
it is connected.

libata demonstrates that it is viable to use both
the SCSI commands (for data) and SATA commands
(for maintenance) on the same SATA device.

Doug Gilbert
-
: 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