On 18/01/2011 22:18, Dave Miner wrote:
> On 01/18/11 03:34 PM, Drew Fisher wrote:
>> Dave,
>>
>>>
>>> In general, I like this, as it does require less artificial naming of
>>> objects. A couple of things.
>>>
>>> 1. The zpool attribute on the disk_name element would seemingly be
>>> redundant if the vdev names were required to be unique across all
>>> pools in the manifest. Undecided whether that's a good thing or not.
>>> We could perhaps make the zpool attribute optional, only required if
>>> the vdev names are not unique.
>>
>> I don't think we should enforce the zpool name in the vdev label. I did
>> that for readability, but as you'll see below, it's not necessary. I
>> would be concerned that users wouldn't follow that naming convention and
>> it could cause all kinds of issues.
>>
> 
> I wasn't suggesting that we enforce that a pool name is part of the vdev 
> attribute, just noting that the vdev name is likely sufficient in the 
> usual case.  It's just the "leaf" of a "path", in other words, and if 
> the leaves are all uniquely named, you don't need the whole path and can 
> handle it like SMF handles service names or pkg handles package names. 
> Eliminating unnecessary verbosity seems helpful here.

I totally agree here, if there is a vdev name, then it should be enough and you
should really omit the zpool.

As I said in another e-mail, as long as you can uniquely identify the vdev to
add a disk to, then it should be all ok, otherwise it should fail validation.

So a failure would be where you specify a zpool, but not a vdev, when the zpool
definition has two vdevs groupings in it, i.e:

    <target>
       <disk>
         <disk_name name="c3t0d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c3t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <logical>
         <zpool name="rpool" action="create" is_root="true">
           <vdev name="root_mirror" redundancy="mirror"/>
           <vdev name="root_spare" redundancy="spare"/>
         </zpool>
       </logical>
    </target>

A success would be where you specify a zpool, but not a vdev, and the zpool only
has one vdev grouping in it.

    <target>
       <disk>
         <disk_name name="c3t0d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c3t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <logical>
         <zpool name="rpool" action="create" is_root="true">
           <vdev name="root_mirror" redundancy="mirror"/>
         </zpool>
       </logical>
    </target>

In fact, in this last one, if you wanted to use the default redundancy of a
zpool, then you could totally omit the <vdev> element:

    <target>
       <disk>
         <disk_name name="c3t0d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c3t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <disk>
         <disk_name name="c4t1d0" name_type="ctd" zpool="rpool"/>
       </disk>
       <logical>
         <zpool name="rpool" action="create" is_root="true" />
       </logical>
    </target>

Thanks,

Darren.
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to