Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Mar 2011 00:24:03 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: tying down adaX to physical interfaces
Message-ID:  <20110327000956.U1316@besplex.bde.org>
In-Reply-To: <20110326003818.GT78089@deviant.kiev.zoral.com.ua>
References:  <AFDA19F9-DC78-463D-862D-6E4F3CB2C2C3@deman.com> <20110326003818.GT78089@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 26 Mar 2011, Kostik Belousov wrote:

> On Fri, Mar 25, 2011 at 05:21:50PM -0700, Michael DeMan wrote:
>> Hi All,
>>
>> I seem to recall that there is a way to do this, but can no longer google it.
>>
>> Basically, for NCQ support with SATA devices we are using the 'ada' driver, which of course has SCSI like behavior.
>> ...
> I use the following stanza in /boot/device.hints for machine with intel
> on-board ahci and siis in pcie:
> hint.scbus.0.at="ahcich0"
> hint.ada.0.at="scbus0"
> hint.scbus.1.at="ahcich1"
> hint.ada.1.at="scbus1"
> hint.scbus.2.at="ahcich2"
> hint.ada.2.at="scbus2"
> hint.scbus.3.at="ahcich3"
> hint.ada.3.at="scbus3"
> hint.scbus.4.at="ahcich4"
> hint.ada.4.at="scbus4"
> hint.scbus.5.at="siisch0"
> hint.ada.5.at="scbus5"
> hint.scbus.6.at="siisch1"
> hint.ada.6.at="scbus6"

To hijack this thread a little, I'll ask how people handle removable media
changing the addresses of non-removable media.  I use the following to
prevent USB drives stealing da0 from my 1 real SCSI disk on 1 machine:

    hint.scbus.0.at="sym0"
    hint.da.0.at="scbus0"

This works OK and is easy to manage with only 1 SCSI disk.  But 1 of my
USB drives also steals cd0 from a not-so-real ATAPI drive under atapicam,
depending on whether the USB drive is present at boot time:

    USB drive not present at boot time:
      ad* (no SCSI disks on this machine)
      cd0 = acd0 (but no further ATAPI drives on this machine)
    insert USB drive:
      da1 (da0 was reserved by above)
      cd1 (phantom ATAPI drive on the USB drive.  Accessing this hangs
 	  parts of the ata system but it doesn't get used since various
 	  places only point cd0)

    USB drive present at boot time:
      ad*
      da1 on USB
      cd0 phantom on USB
      cd1 = acd[0 or 1] (normal cd0).  Accessing cd0 now hangs parts of the
 	   ata system and this happens too easily since various places point
 	   to cd0.

How do people defend agains random USB drives present or not at boot time?

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110327000956.U1316>