diff options
author | Bryn M. Reeves <breeves@redhat.com> | 2007-06-08 22:38:48 +0000 |
---|---|---|
committer | Bryn M. Reeves <breeves@redhat.com> | 2007-06-08 22:38:48 +0000 |
commit | 944cac939cac7d0b90dffd064cc69cbaebaed1ca (patch) | |
tree | 54ccd52a7f249ea8191a8025ae03397a8b1e7683 /tools/vgcfgrestore.c | |
parent | c221b0bc2197f8b5233c53698d760a8eb755344d (diff) | |
download | lvm2-944cac939cac7d0b90dffd064cc69cbaebaed1ca.tar.gz lvm2-944cac939cac7d0b90dffd064cc69cbaebaed1ca.tar.xz lvm2-944cac939cac7d0b90dffd064cc69cbaebaed1ca.zip |
Allow vgcfgrestore to list metadata backup files using -f
Diffstat (limited to 'tools/vgcfgrestore.c')
-rw-r--r-- | tools/vgcfgrestore.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/tools/vgcfgrestore.c b/tools/vgcfgrestore.c index 3dd1c676..83b42f09 100644 --- a/tools/vgcfgrestore.c +++ b/tools/vgcfgrestore.c @@ -19,26 +19,27 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv) { char *vg_name; - if (argc != 1) { + if (argc == 1) { + vg_name = skip_dev_dir(cmd, argv[0], NULL); + if (!validate_name(vg_name)) { + log_error("Volume group name \"%s\" is invalid", vg_name); + return ECMD_FAILED; + } + } else if (!(arg_count(cmd, list_ARG) && arg_count(cmd, file_ARG))) { log_err("Please specify a *single* volume group to restore."); return ECMD_FAILED; } - vg_name = skip_dev_dir(cmd, argv[0], NULL); - - if (!validate_name(vg_name)) { - log_error("Volume group name \"%s\" is invalid", vg_name); - return ECMD_FAILED; - } - /* * FIXME: overloading the -l arg for now to display a * list of archive files for a particular vg */ if (arg_count(cmd, list_ARG)) { - if (!archive_display(cmd, vg_name)) + if (!(arg_count(cmd,file_ARG) ? + archive_display_file(cmd, + arg_str_value(cmd, file_ARG, "")) : + archive_display(cmd, vg_name))) return ECMD_FAILED; - return ECMD_PROCESSED; } |