Description of problem: Users with existing data in i.e. Linear, Raid, VDO LVs may need to use then with thin-provisioning. While lvm2 already supports such user through 'external' origin, there could be cases where a direct conversion to thin-pool is better solutions. To support this extend the 'lvconvert' with new supported conversion, that makes the original volume basically a 'data' volume for thin-pool and adds a thin volume with fully provisioned volume mapping this data. Such conversion should be possible to happen 'online' so user should not need to deactivate such LV. Expected usage: lvcreate -L10 -n normalLV vgname lvconvert --type thin vgname/normalLV Results with thin-pool with normalLV being represented by thin.
Upstream code already provides the initial support with some limitation. Currently user has to manually 'extend' thin-pool if he want to use thin-pool for creation of futher thin LVs in the same pool.
Also the primary use-case for this conversion can be seen by allowing to create multiple LVs within the single VDOPOOL. User can convert 'VDOLV' into a thin volume with thin-pool having back-end in compressed deduplicated data volume handled by VDO target.