Re: Switch from legacy ata(4) to CAM-based ATA

From: Arnaud Lacombe <lacombar_at_gmail.com>
Date: Thu, 21 Apr 2011 01:37:14 -0400
Hi,

On Wed, Apr 20, 2011 at 10:26 PM, Benjamin Kaduk <kaduk_at_mit.edu> wrote:
> On Wed, 20 Apr 2011, Arnaud Lacombe wrote:
>
>> Hi,
>>
>> On Wed, Apr 20, 2011 at 9:17 PM, Warren Block <wblock_at_wonkity.com> wrote:
>>>
>>> On Wed, 20 Apr 2011, Arnaud Lacombe wrote:
>>>
>>>> On Wed, Apr 20, 2011 at 6:38 PM, Garrett Cooper <yanegomi_at_gmail.com>
>>>> wrote:
>>>>>
>>>>> On Wed, Apr 20, 2011 at 3:35 PM, Doug Barton <dougb_at_freebsd.org> wrote:
>>>>>
>>>>> glabel create <label> /dev/<blah>
>>>>
>>>> Just tested that with a kernel from HEAD and a 8.x userland. This does
>>>> not seem to survive a reboot.
>>>
>>> No, "create" makes a temporary label.  "label" writes a label to the last
>>> block of the device.
>>>
>> ... which does not seem be doable when the fs is mounted:
>>
>> [in single-user, with only / mounted r/w and /dev]
>> # geom label label root /dev/ad0s1a
>> geom: Can't store metadata on /dev/ad0s1a: Operation not permitted.
>
> As an anti-foot-shooting measure, this is blocked unless the flag sysctl
> kern.geom.debugflags |= 16 is set
>
unfortunately, that condition alone is not enough, the geom (not sure
the term is correct) should also have a rank of 1, which is not the
case on my [fairly standard ?] disk. Here is some more info from ddb:

db> show geom
class: SWAP (0xc0875260)

class: DISK (0xc0853720)
  geom: ad0 (0xc1d56900), rank=1
    provider: ad0 (0xc1d56880), access=r1w1e3
      consumer: 0xc20b9e40 (ad0), access=r1w1e3
      consumer: 0xc20ba000 (ad0), access=r0w0e0

class: DEV (0xc0853600)
  geom: ad0s1a (0xc1d56700), rank=4
    consumer: 0xc20b9b00 (ad0s1a), access=r0w0e0
  geom: ad0s1 (0xc1d56480), rank=3
    consumer: 0xc20b9d80 (ad0s1), access=r0w0e0
  geom: ad0 (0xc1d56780), rank=2
    consumer: 0xc20ba000 (ad0), access=r0w0e0

class: LABEL (0xc0853ca0)

class: VFS (0xc0853c00)
  geom: ffs.ad0s1a (0xc1d56c80), rank=4
    consumer: 0xc20b9980 (ad0s1a), access=r1w1e1

class: PART (0xc0854520)
  geom: ad0s1 (0xc1d56200), rank=3
    provider: ad0s1a (0xc1d56100), access=r1w1e1
      consumer: 0xc20b9980 (ad0s1a), access=r1w1e1
      consumer: 0xc20b9b00 (ad0s1a), access=r0w0e0
    consumer: 0xc20b9cc0 (ad0s1), access=r1w1e2
  geom: ad0 (0xc1d56680), rank=2
    provider: ad0s1 (0xc1d56580), access=r1w1e2
      consumer: 0xc20b9cc0 (ad0s1), access=r1w1e2
      consumer: 0xc20b9d80 (ad0s1), access=r0w0e0
    consumer: 0xc20b9e40 (ad0), access=r1w1e3

So right now, I still have no transition mechanism from 8.x to 9.x,
beside dropping in single user and edition /etc/fstab manually.

In the mean time, I'd assume that GEOM labels can be used in
`vfs.root.mountfrom', am I right ?

Thanks,
 - Arnaud
Received on Thu Apr 21 2011 - 03:37:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:13 UTC