mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
This patch adds helpers to allow users to lookup a lv or pv handle by
name (given a vg_t of course). Signed-off-by: Dave Wysochanski <wysochanski@pobox.com> Reviewed-by: Petr Rockai <prockai@redhat.com>
This commit is contained in:
parent
46f84d5cb9
commit
14b0c96bc7
@ -1014,6 +1014,23 @@ lv_t lvm_vg_create_lv_linear(vg_t vg, const char *name, uint64_t size);
|
||||
*/
|
||||
struct dm_list *lvm_lv_list_lvsegs(lv_t lv);
|
||||
|
||||
/**
|
||||
* Lookup an LV handle in a VG by the LV name.
|
||||
*
|
||||
* \memberof lv_t
|
||||
*
|
||||
* \param vg
|
||||
* VG handle obtained from lvm_vg_create() or lvm_vg_open().
|
||||
*
|
||||
* \param name
|
||||
* Name of LV to lookup.
|
||||
*
|
||||
* \return
|
||||
* non-NULL handle to the LV 'name' attached to the VG.
|
||||
* NULL is returned if the LV name is not associated with the VG handle.
|
||||
*/
|
||||
lv_t lvm_lv_from_name(vg_t vg, const char *name);
|
||||
|
||||
/**
|
||||
* Activate a logical volume.
|
||||
*
|
||||
@ -1488,6 +1505,23 @@ struct lvm_property_value lvm_pvseg_get_property(const pvseg_t pvseg,
|
||||
*/
|
||||
struct dm_list *lvm_pv_list_pvsegs(pv_t pv);
|
||||
|
||||
/**
|
||||
* Lookup an PV handle in a VG by the PV name.
|
||||
*
|
||||
* \memberof pv_t
|
||||
*
|
||||
* \param vg
|
||||
* VG handle obtained from lvm_vg_create() or lvm_vg_open().
|
||||
*
|
||||
* \param name
|
||||
* Name of PV to lookup.
|
||||
*
|
||||
* \return
|
||||
* non-NULL handle to the PV 'name' attached to the VG.
|
||||
* NULL is returned if the PV name is not associated with the VG handle.
|
||||
*/
|
||||
pv_t lvm_pv_from_name(vg_t vg, const char *name);
|
||||
|
||||
/**
|
||||
* Resize physical volume to new_size bytes.
|
||||
*
|
||||
|
@ -249,6 +249,17 @@ struct dm_list *lvm_lv_list_lvsegs(lv_t lv)
|
||||
return list;
|
||||
}
|
||||
|
||||
lv_t lvm_lv_from_name(vg_t vg, const char *name)
|
||||
{
|
||||
struct lv_list *lvl;
|
||||
|
||||
dm_list_iterate_items(lvl, &vg->lvs) {
|
||||
if (!strcmp(name, lvl->lv->name))
|
||||
return lvl->lv;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int lvm_lv_resize(const lv_t lv, uint64_t new_size)
|
||||
{
|
||||
/* FIXME: add lv resize code here */
|
||||
|
@ -87,6 +87,18 @@ struct dm_list *lvm_pv_list_pvsegs(pv_t pv)
|
||||
return list;
|
||||
}
|
||||
|
||||
pv_t lvm_pv_from_name(vg_t vg, const char *name)
|
||||
{
|
||||
struct pv_list *pvl;
|
||||
|
||||
dm_list_iterate_items(pvl, &vg->pvs) {
|
||||
if (!strcmp(name, pv_dev_name(pvl->pv)))
|
||||
return pvl->pv;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
int lvm_pv_resize(const pv_t pv, uint64_t new_size)
|
||||
{
|
||||
/* FIXME: add pv resize code here */
|
||||
|
Loading…
x
Reference in New Issue
Block a user