[lvm-devel] master - python-lvm: Make second lv.snapshot() argument optional
Zdenek Kabelac
zkabelac at redhat.com
Sun Dec 16 18:58:44 UTC 2012
Dne 16.12.2012 03:27, Andy Grover napsal(a):
> On 12/15/2012 01:34 PM, Zdenek Kabelac wrote:
>> Dne 14.12.2012 23:11, Andy Grover napsal(a):
>>> If no size is given, size defaults to 0, which in lvm_lv_snapshot will
>>> allocate extents equal to the original LV be allocated for the new
>>> snapshot.
>>>
>>
>>
>> Possibly not the ideal solution here.
>>
>> 1) we have some clash with command line 'API'
>> user creates snapshot of thin volume
>> - without giving size he get thin volume snaphost.
>> lvcreate -s
>> - with size specified he gets 'old' snapshot
>> (snapshot outside of the pool)
>> lvcreate -s -l|-L
>
> Makes sense. So should we do the same for the Python API -- size = None
> -> thin snap, size = >=0 -> 'old' snap with the given size? OR might we
> even be OK with just supporting 'new' snaps, and get rid of the size
> parameter altogether?
>
The 'old-snaps' should/will remain supported - since you may want to snap
data outside of the pool - i.e. you want limit maximum size the snapshot
takes. Or you have very big 'chunk size' of the thin pool - and you may
want to take snapshot of the volume in that pool - so use of snapshot
with significantly smaller chunks size is preferable.
'zero' size snapshot (>=0) - I think this case is actually unsupportable - the
minimum size for snapshot is I think 2 chunks (1 for data 1 for metadata) - so
anything smaller should be rejected by metadata validator - so I think 0
should be equal to 'None'.
Zdenek
More information about the lvm-devel
mailing list