/* * Copyright (C) 2013 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 */ #include "lvm_prop.h" #include "libdevmapper.h" #include "metadata.h" /* lv create parameters */ GET_LVCREATEPARAMS_NUM_PROPERTY_FN(skip_zero, lvcp->zero) SET_LVCREATEPARAMS_NUM_PROPERTY_FN(skip_zero, lvcp->zero) /* PV create parameters */ GET_PVCREATEPARAMS_NUM_PROPERTY_FN(size, pvcp->pva.size) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(size, pvcp->pva.size) GET_PVCREATEPARAMS_NUM_PROPERTY_FN(pvmetadatacopies, pvcp->pva.pvmetadatacopies) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(pvmetadatacopies, pvcp->pva.pvmetadatacopies) GET_PVCREATEPARAMS_NUM_PROPERTY_FN(pvmetadatasize, pvcp->pva.pvmetadatasize) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(pvmetadatasize, pvcp->pva.pvmetadatasize) GET_PVCREATEPARAMS_NUM_PROPERTY_FN(data_alignment, pvcp->pva.data_alignment) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(data_alignment, pvcp->pva.data_alignment) GET_PVCREATEPARAMS_NUM_PROPERTY_FN(data_alignment_offset, pvcp->pva.data_alignment_offset) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(data_alignment_offset, pvcp->pva.data_alignment_offset) GET_PVCREATEPARAMS_NUM_PROPERTY_FN(zero, pvcp->zero) SET_PVCREATEPARAMS_NUM_PROPERTY_FN(zero, pvcp->zero) struct lvm_property_type _lib_properties[] = { #include "lvm_prop_fields.h" { 0, "", 0, 0, 0, 0, { .integer = 0 }, prop_not_implemented_get, prop_not_implemented_set }, }; #undef STR #undef NUM #undef FIELD int lv_create_param_get_property(const struct lvcreate_params *lvcp, struct lvm_property_type *prop) { return prop_get_property(_lib_properties, lvcp, prop, LV_CREATE_PARAMS); } int lv_create_param_set_property(struct lvcreate_params *lvcp, struct lvm_property_type *prop) { return prop_set_property(_lib_properties, lvcp, prop, LV_CREATE_PARAMS); } int pv_create_param_get_property(const struct pvcreate_params *pvcp, struct lvm_property_type *prop) { return prop_get_property(_lib_properties, pvcp, prop, PV_CREATE_PARAMS); } int pv_create_param_set_property(struct pvcreate_params *pvcp, struct lvm_property_type *prop) { return prop_set_property(_lib_properties, pvcp, prop, PV_CREATE_PARAMS); }