Description of problem: Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
When using the lvm2app library get property function: value = lvm_lv_get_property(lvmLV, "origin"); if (value.is_valid) { m_origin = value.value.string; the origin of non-thin snapshots is returned as expected but the origin of thin snapshots of thin volumes is "". ~#lvs LV VG Attr LSize Pool Origin Data% Move Log Pool_One MyGroup twi-a-tz- 1.00g fat_snap1 MyGroup swi-a-s-- 2.00g thin_vol2 thin_snap1 MyGroup Vwi-a-tz- 2.00g Pool_One thin_vol2 thin_vol2 MyGroup owi-a-tz- 2.00g Pool_One ~# lvs --version LVM version: 2.02.98(2)-git (2012-08-24) Library version: 1.02.77-git (2012-08-24) Driver version: 4.22.0
Fixed upstream with commit: https://www.redhat.com/archives/lvm-devel/2012-October/msg00099.html Here is simple lvm2api test program which should pass now: ---- # Create pool & thin & snap LVs lvcreate -L5M -T vg/pool lvcreate -V1M -T vg/pool -n thin lvcreate -s vg/thin -n snap ---- #include "lvm2app.h" int main(int argc, char *argv[]) { lvm_t handle; vg_t vg; lv_t lv; struct lvm_property_value v; handle = lvm_init(NULL); vg = lvm_vg_open(handle, argv[1], "r", 0); lv = lvm_lv_from_name(vg, "snap"); v = lvm_lv_get_property(lv, "origin"); lvm_vg_close(vg); lvm_quit(handle); return (v.is_valid && (strcmp(v.value.string, "thin") == 0)) ? 0 : 1; }
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0501.html