1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-11 09:18:25 +03:00

Add lvm_scan_vgs liblvm fn to scan the system for LVM metadata.

The lvm_list_vg_{names|ids} functions do not do a scan so we provide
a liblvm function that does a scan.

Author: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
Dave Wysochanski 2009-07-24 12:48:21 +00:00
parent a3158f498f
commit b7255dac54
3 changed files with 15 additions and 0 deletions

View File

@ -14,6 +14,7 @@ lvm_vg_write
lvm_vg_open
lvm_vg_close
lvm_vg_remove
lvm_scan_vgs
lvm_errno
lvm_errmsg
lvm_vg_list_pvs

View File

@ -265,6 +265,8 @@ struct dm_list *lvm_vg_list_pvs(vg_t *vg);
* Return a list of VG names or VG uuids in the system.
*
* NOTE: This function will _NOT_ scan devices in the system for LVM metadata.
* To scan the system, use lvm_scan_vgs.
*
* To process the list, use the dm_list iterator functions. For example:
* vg_t *vg;
* struct dm_list *vgnames;
@ -286,5 +288,11 @@ struct dm_list *lvm_vg_list_pvs(vg_t *vg);
struct dm_list *lvm_list_vg_names(lvm_t libh);
struct dm_list *lvm_list_vg_ids(lvm_t libh);
/**
* Scan all devices on the system for VGs and LVM metadata.
*
* \return Status code of 1 (success) or 0 (failure).
*/
int lvm_scan_vgs(lvm_t libh);
#endif /* _LIB_LVM_H */

View File

@ -22,6 +22,7 @@
#include "archiver.h"
#include "locking.h"
#include "lvm-string.h"
#include "lvmcache.h"
vg_t *lvm_vg_create(lvm_t libh, const char *vg_name)
{
@ -198,3 +199,8 @@ struct dm_list *lvm_list_vg_ids(lvm_t libh)
{
return get_vgids((struct cmd_context *)libh, 0);
}
int lvm_scan_vgs(lvm_t libh)
{
return lvmcache_label_scan((struct cmd_context *)libh, 2);
}