/* * Copyright (C) 2012 Red Hat, Inc. All rights reserved. * * This file is part of LVM2. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU Lesser General Public License v.2.1. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #undef NDEBUG #include "lvm2app.h" #include "assert.h" int main(int argc, char *argv[]) { lvm_t handle; vg_t vg; lv_t lv; struct lvm_property_value v; struct dm_list *lvsegs; struct lvm_lvseg_list *lvl; handle = lvm_init(NULL); assert(handle); vg = lvm_vg_open(handle, argv[1], "r", 0); assert(vg); lv = lvm_lv_from_name(vg, "pool"); assert(lv); lvsegs = lvm_lv_list_lvsegs(lv); assert(lvsegs && (dm_list_size(lvsegs) == 1)); dm_list_iterate_items(lvl, lvsegs) { v = lvm_lvseg_get_property(lvl->lvseg, "discards"); assert(v.is_valid && v.is_string); assert(strcmp(v.value.string, "passdown") == 0); } v = lvm_lv_get_property(lv, "data_percent"); assert(v.is_valid); assert(v.value.integer == 25 * PERCENT_1); lv = lvm_lv_from_name(vg, "thin"); assert(lv); v = lvm_lv_get_property(lv, "data_percent"); assert(v.is_valid); assert(v.value.integer == 50 * PERCENT_1); lv = lvm_lv_from_name(vg, "snap"); assert(lv); v = lvm_lv_get_property(lv, "data_percent"); assert(v.is_valid); assert(v.value.integer == 75 * PERCENT_1); v = lvm_lv_get_property(lv, "snap_percent"); assert(v.is_valid); assert(v.value.integer == (uint64_t) DM_PERCENT_INVALID); v = lvm_lv_get_property(lv, "origin"); assert(v.is_valid); assert(strcmp(v.value.string, "thin") == 0); lvm_vg_close(vg); lvm_quit(handle); return 0; }