On 06/12/2013 11:57 AM, Andy Grover wrote:
On 06/11/2013 01:41 PM, Tony Asleson wrote:
> Users can now use the syntax of vg/lv where the lv refers to a thinly
> provisioned pool which can be used to create logical volumes from.
>
> Otherwise the functionality will remain as it previously was.
>
> Copies will utilize thinp snapshots for thinp pools, resulting in very
> quick replication and space savings.
Hi Tony,
Great job on getting python-lvm to where we can even think about doing
this in targetd. This is going to be SO nice!
Thanks!
First thing: What version of lvm2 does this (or *will* this) depend
on?
Because that would need to be released and available in distros before
we could really make use of the new feature it is providing, right? Do
we need to check the presence of the new LVM APIs before we call them?
Not sure at the moment which version will contain this. The liblvm API
has a version method. I believe we should bump that and then add a bit
of code to verify in targetd that we are good to go for the implemented
feature set?
Second, I'm seriously wondering if we should only enable volume
copy for
thinp volumes. That's the only place copies are fast (because they're
COW) and would let us drop the brute-copy code from targetd, as well as
letting us remove the 'ASYNC' stuff from the API.
Good question, let me think about that a little more, especially with
considering the available options of libStorageMgmt.
Also, what happens if the user creates two LV pools within a vg? And
then lists one, both, or neither, as targetd pools?
Yes, we need to fix this, I'll look at this in the next few days.
But these are all follow-on issues, please go ahead and push this
commit
at your convenience.
Pushed
Thanks,
Tony