[linux-lvm] Is "man lvcreate" for "-Z|--zero" incorrectly worded?
Zdenek Kabelac
zkabelac at redhat.com
Thu Jan 10 09:31:17 UTC 2019
Dne 10. 01. 19 v 4:05 james harvey napsal(a):
> On lvm2 2.02.183, man lvcreate includes:
>
> -Z|--zero y|n
> Controls zeroing of the first 4KiB of data in the new LV. Default
> is y. Snapshot COW volumes are always zeroed. LV is not zeroed if
> the read only flag is set. Warning: trying to mount an unzeroed LV
> can cause the system to hang.
>
> This says only the "first 4KiB" is zeroed.
>
> Yet, when running "lvcreate --chunksize <something large>", it says:
>
> WARNING: Pool zeroing and ###.00 MiB large chunk size slows down
> thin provisioning.
> WARNING: Consider disabling zeroing (-Zn) or using smaller chunk
> size (<512.00 KiB).
>
> Which seems to indicate it's going to zero the entire newly allocated
> chunk size, rather than only the first 4KiB.
>
Hi
With thin-pool and thin-volumes - -Z has slightly modified meaning.
User controls thin-pool zeroing - it's possible the information got
somewhat lost over the 'man page' rework where it's now fully generated
from the source code.
So with thin-pool --zero means whether zeroing is enabled or skipped for
provisioned chunks.
With zeroing is skipped (-Zn) - there is still ALWAYS 'cleared' initial
device header - otherwise such device would become unpredictable for the
system - as unprovisioned chunks always return 'zero' - so i.e. udev device
scanning may guess it's empty device and later upon write to first chunk - we
must make sure that at least initial disk header will be zeroed.
That's why user cannot have control over traditional aka 'zeroing for linears'
behavior here - and we 'overloaded' --zero setting to give it this meaning.
I hope this better explains it - I'll try to enhance man page - meanwhile
check 'man lvmthin' Zeroing.
Zdenek.
More information about the linux-lvm
mailing list