summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-04-10 13:14:12 +0100
committerRichard Jones <rjones@redhat.com>2010-04-10 13:41:45 +0100
commit9752039e52d190c7d62281346fd2170a98434c86 (patch)
tree9d25e5b0c880bfdffddd8aa6d7e65502735b27be
parentf8210da95888f0060b25dcca2ae299d5c16ff814 (diff)
downloadlibguestfs-9752039e52d190c7d62281346fd2170a98434c86.tar.gz
libguestfs-9752039e52d190c7d62281346fd2170a98434c86.tar.xz
libguestfs-9752039e52d190c7d62281346fd2170a98434c86.zip
New API: vgscan
Implement vgscan to allow for a full rescan of all LVM PVs, VGs and LVs.
-rw-r--r--daemon/lvm.c18
-rwxr-xr-xsrc/generator.ml8
2 files changed, 26 insertions, 0 deletions
diff --git a/daemon/lvm.c b/daemon/lvm.c
index e4fa54e8..20f2fb33 100644
--- a/daemon/lvm.c
+++ b/daemon/lvm.c
@@ -594,3 +594,21 @@ do_vglvuuids (const char *vgname)
{
return get_lvm_fields ("vgs", "lv_uuid", vgname);
}
+
+int
+do_vgscan (void)
+{
+ char *err;
+ int r;
+
+ r = command (NULL, &err,
+ "lvm", "vgscan", NULL);
+ if (r == -1) {
+ reply_with_error ("%s", err);
+ free (err);
+ return -1;
+ }
+
+ free (err);
+ return 0;
+}
diff --git a/src/generator.ml b/src/generator.ml
index 24b9bc0b..b423025c 100755
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -4381,6 +4381,14 @@ This command resizes an NTFS filesystem, expanding or
shrinking it to the size of the underlying device.
See also L<ntfsresize(8)>.");
+ ("vgscan", (RErr, []), 232, [],
+ [InitEmpty, Always, TestRun (
+ [["vgscan"]])],
+ "rescan for LVM physical volumes, volume groups and logical volumes",
+ "\
+This rescans all block devices and rebuilds the list of LVM
+physical volumes, volume groups and logical volumes.");
+
]
let all_functions = non_daemon_functions @ daemon_functions