New API: vgscan
authorRichard Jones <rjones@redhat.com>
Sat, 10 Apr 2010 12:14:12 +0000 (13:14 +0100)
committerRichard Jones <rjones@redhat.com>
Sat, 10 Apr 2010 12:41:45 +0000 (13:41 +0100)
Implement vgscan to allow for a full rescan of all LVM
PVs, VGs and LVs.

daemon/lvm.c
src/generator.ml

index e4fa54e..20f2fb3 100644 (file)
@@ -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;
+}
index 24b9bc0..b423025 100755 (executable)
@@ -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