Current-Users archive

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

Re: Hot plugging of SATA disks doesn't seem to work under NetBSD-4.x?



On Mon, Apr 14, 2008 at 01:59:45PM -0700, Brian Buhrow wrote:
>       Hello.  I have several Sunfire X2200 boxes with SATA disks attached.
> They probe as follows:
> 
> viaide1 port 0: device present, speed: 3.0Gb/s
> viaide1 port 1: device present, speed: 3.0Gb/s
> wd0 at atabus1 drive 0: <ST3320620AS>
> wd0: quirks 2<FORCE_LBA48>
> wd0: drive supports 16-sector PIO transfers, LBA48 addressing
> wd0: 298 GB, 620181 cyl, 16 head, 63 sec, 512 bytes/sect x 625142448
> sectors
> wd0: 32-bit data port
> wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
> wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using
> DMA)
> wd1 at atabus2 drive 0: <ST3320620AS>
> wd1: quirks 2<FORCE_LBA48>
> wd1: drive supports 16-sector PIO transfers, LBA48 addressing
> wd1: 298 GB, 620181 cyl, 16 head, 63 sec, 512 bytes/sect x 625142448
> sectors
> wd1: 32-bit data port
> wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
> wd1(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using
> DMA)
>               All works well until one of the drives is reset, either because
> it was pulled out and reinserted, or until it was pulled out and another
> drive installed.  At that point, timeouts for that drive ensue, and drive
> resets fail.
> 
>       My questions are:
> 
> 1.  Are SATA drives supposed to be hot pluggable from a software
> perspective, as SCSI disks are?

Not yet

> 
> 2.  If not, has anyone looked at what changes are required to make this
> functionality work?

For controllers exposing the native SATA interface, I'm not sure yet
what would the best way of doing it. The PHY will signal devices going
in and out and we could use this, just as with USB. But this could mean that
a trancient connection error could end up with a drive going away and
back, which is bad for the system (for the system this would just be a new
drive, and mounted filesystems wouldn't be connected to the drive any
more).
The other option is to implement an atactl detach/scan, just as scsictl
does. I started working on this some years ago and some bits are there.
I didn't complete it because I didn't find a sane way to handle a rescan of
a PATA bus with master/slave, with one of the devices already present.
As SATA is p2p, this makes this part easier.

-- 
Manuel Bouyer, LIP6, Universite Paris VI.           
Manuel.Bouyer%lip6.fr@localhost
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index