RFC: ATA to CAM integration patch

Alexander Motin mav at FreeBSD.org
Sat Jun 27 16:31:22 UTC 2009


Ulrich Spörlein wrote:
> On Fri, 26.06.2009 at 21:47:26 +0300, Alexander Motin wrote:
>> [Great stuff]
>>   - make sure that you will be able to boot if your SATA disk devices 
>> name change from some ad4 to ada0;
> 
> I, personally, think this is not very good idea. People are used to
> CAM-devices getting enumerated as da0, da1, etc. All the documentation
> talks about ad0 for ATA and da0 (plus camcontrol) for SCSI, USB,
> Firewire devices. 

We should understand difference between transport and command set. SPI, 
SAS, USB and FireWire are all just a transports for SCSI commands, and 
their disk devices use the same SCSI-command disk driver "da". ATA disks 
in this implementation are still use their native ATA commands, without 
translating to SCSI. So "ada" is a completely separate driver, operating 
disk devices supporting ATA, but _not_ a SCSI, command set.

Whatever name we would use for it, "ada" still will be separate driver. 
It is not my whim. IMHO having two drivers with the same name is just a 
time bomb, which will create problems in future. If somebody sure that 
it won't, I will be glad to hear his technical opinion about how to 
manage that properly, for example, in newbus.

> We also have fd0 and cd0 and should stick to
> two-letter-plus-number codes.

We also have a lot of longer disk driver names: aacd, amrd, mmcsd, ...

> So either make them all ad0 or da0. I'd
> vote for the latter, as that is what Linux is doing (more or less) and
> people are already familiar with USB drives or new SATA drives showing
> up as "SCSI drives, so they get the SCSI names".

The main difference is that in our case SATA is not SCSI! We are not 
doing any emulation. CAM != SCSI any more! CAM = SCSI + ATA + whatever!

-- 
Alexander Motin


More information about the freebsd-current mailing list