bin/164281: bsdinstall(8): please allow sysinstall as installer option

Nathan Whitehorn nwhitehorn at freebsd.org
Sun May 25 16:54:06 UTC 2014


On 05/25/14 09:46, Allan Jude wrote:
> On 2014-05-25 12:43, Nathan Whitehorn wrote:
>> On 05/25/14 09:32, Allan Jude wrote:
>>> On 2014-05-25 12:27, Nathan Whitehorn wrote:
>>>> I'm (finally) integrating these patches now. Could you remind me what
>>>> the point of the gnop is? I'm not sure I get it.
>>>> -Nathan
>>> The 'gnop -S 4096 <device>' makes a virtual device that has a sector
>>> size of 4096 bytes. This causes ZFS to set ashift=12 even for devices
>>> that mis-advertise (lie about) their sector size. There is no real harm
>>> in using 4k sectors on a 512b sector device, but using 512b sectors on a
>>> 4k device will cause write amplification (read-modify-write) since the
>>> device will have to deal with it as a partial block update.
>> I think our ATA code mostly has this under control at this point.
>>
>>> Additionally, the sector size can only be set at pool creation time,
>>> even if you have have 512b sector devices, you'll want to create your
>>> pool as 4k, so that in the future when you add additional devices, or
>>> replace failed devices, the 4k sector devices will be supported. ZFS
>>> complains loudly when you try to add mis-matched sector size devices to
>>> a pool.
>>>
>>>
>> This is a good reason, even if the circumstances behind it are stupid.
>> Is there really no way to handle this besides gnop? Can't we just fix ZFS?
>> -Nathan
>> _______________________________________________
>> freebsd-sysinstall at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-sysinstall
>> To unsubscribe, send any mail to
>> "freebsd-sysinstall-unsubscribe at freebsd.org"
> Linux added an explicit option to the zpool, so you can just do:
>
> zpool create -o ashift=12 mypool mirror disk1 disk2
>
> There was some discussion about this in the OpenZFS group, but it was
> usually cited as a reason why there was a need to for OpenZFS, to keep
> the Linux version from diverging and adding a bunch of non-standard options.
>
> I am not sure what the best option is. The gnop is only required while
> the pool is being created, it doesn't need to be re-created in order to
> import the pool etc, it is just to trick ZFS the first time.
>

If it's really just needed at creation time, the best way forward seems 
pretty clearly to be the -o ashift one. Let's see if we can do that.
-Nathan


More information about the freebsd-sysinstall mailing list