summaryrefslogtreecommitdiffstats
path: root/tools/vgcfgrestore.c
diff options
context:
space:
mode:
authorBryn M. Reeves <breeves@redhat.com>2007-06-08 22:38:48 +0000
committerBryn M. Reeves <breeves@redhat.com>2007-06-08 22:38:48 +0000
commit944cac939cac7d0b90dffd064cc69cbaebaed1ca (patch)
tree54ccd52a7f249ea8191a8025ae03397a8b1e7683 /tools/vgcfgrestore.c
parentc221b0bc2197f8b5233c53698d760a8eb755344d (diff)
downloadlvm2-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.c21
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;
}