| /* |
| * 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; |
| } |