LVM snapshots seem to have extremely poor performance  It seems that dm-thin snapshots use a new implementation:Another significant feature is support for an arbitrary depth of  recursive snapshots (snapshots of snapshots of snapshots ...).  The  previous implementation of snapshots did this by chaining together  lookup tables, and so performance was O(depth).  This new  implementation uses a single data structure to avoid this degradation  with depth.  Fragmentation may still be an issue, however, in some  scenarios.However, dm-thin seems to be pretty bare bones. In the documentation they say that end-users are advised to use lvm2. lvm seems to have lvm-thin, so I'm wondering whether lvm-thin leverages dm-thin or whether they are different implementation and they meant that the future version of lvm (that don't exist yet) might leverage dm-thin.
Does lvm-thin use dm-thin underneath or they are compeletly separate utilities?
lvm;device mapper