]> sourceware.org Git - lvm2.git/commitdiff
Add config_reload and config_override to test.c, change prompt.
authorDave Wysochanski <dwysocha@redhat.com>
Mon, 27 Jul 2009 21:02:51 +0000 (21:02 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Mon, 27 Jul 2009 21:02:51 +0000 (21:02 +0000)
  PV         PV UUID                                VG
  /dev/loop1 A95EvV-iqmb-ZFuJ-u8MV-Npwn-wlc2-Ul1Mnn vg1
  /dev/loop0 R16FDG-OmoS-HNGt-LSZY-OAlC-7qeU-t2gztp vg1
lvm> config_override loop0
Success overriding LVM configuration
lvm> config_reload
Success reloading LVM configuration
lvm> vg_open vg1
Couldn't find device with uuid 'A95EvV-iqmb-ZFuJ-u8MV-Npwn-wlc2-Ul1Mnn'.
Success opening vg vg1
lvm> vg_close vg1
lvm> quit

Maybe a bug in lvm_vg_open for missing pvs but the filter seems to work.

Change prompt from "lvm>" to "liblvm>".

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
test/api/test.c

index 3234beb8109b48a58e7adedb74bc3bab0c466951..85efb03d5f59d93cc977f8645e408b689d785f73 100644 (file)
@@ -80,6 +80,10 @@ static void _show_help(void)
               "Issue a lvm_vg_open() API call on VG 'vgname'\n");
        printf("'vg_close vgname': "
               "Issue a lvm_vg_close() API call on VG 'vgname'\n");
+       printf("'config_reload': "
+              "Issue a lvm_config_reload() API to reload LVM config\n");
+       printf("'config_override' device: "
+              "Issue a lvm_config_override() with accept device filter\n");
        printf("'quit': exit the program\n");
 }
 
@@ -221,6 +225,35 @@ static void _vg_reduce(char **argv, int argc, lvm_t libh)
                _remove_device_from_pvname_hash(pvs, argv[2]);
 }
 
+static void _config_override(char **argv, int argc, lvm_t libh)
+{
+       int rc;
+       char tmp[64];
+
+       if (argc < 2) {
+               printf ("Please enter device\n");
+               return;
+       }
+       snprintf(tmp, 63, "devices{filter=[\"a|%s|\", \"r|.*|\"]}", argv[1]);
+       rc = lvm_config_override(libh, tmp);
+       if (rc)
+               printf("Error ");
+       else
+               printf("Success ");
+       printf("overriding LVM configuration\n");
+}
+
+static void _config_reload(char **argv, int argc, lvm_t libh)
+{
+       int rc;
+       rc = lvm_config_reload(libh);
+       if (rc)
+               printf("Error ");
+       else
+               printf("Success ");
+       printf("reloading LVM configuration\n");
+}
+
 static void _vg_extend(char **argv, int argc, lvm_t libh)
 {
        vg_t *vg;
@@ -489,7 +522,7 @@ static int lvmapi_test_shell(lvm_t libh)
        argc=0;
        while (1) {
                free(input);
-               input = readline("lvm> ");
+               input = readline("liblvm> ");
 
                /* EOF */
                if (!input) {
@@ -521,6 +554,10 @@ static int lvmapi_test_shell(lvm_t libh)
                        break;
                } else if (!strcmp(argv[0], "?") || !strcmp(argv[0], "help")) {
                        _show_help();
+               } else if (!strcmp(argv[0], "config_reload")) {
+                       _config_reload(argv, argc, libh);
+               } else if (!strcmp(argv[0], "config_override")) {
+                       _config_override(argv, argc, libh);
                } else if (!strcmp(argv[0], "vg_extend")) {
                        _vg_extend(argv, argc, libh);
                } else if (!strcmp(argv[0], "vg_reduce")) {
This page took 0.039297 seconds and 5 git commands to generate.