From 18b3d246923759c8d0690e9bcf4dbc3543f6d6a1 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Fri, 20 Jan 2012 11:01:13 +0000 Subject: [PATCH] Thin until proper vgcfgrestore for thin is implementad, disable restore. Since it may probably do more harm to leave it enabled - add extra test for presence of thin volumes in VG, and in this case disable restore. --- lib/format_text/archiver.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/format_text/archiver.c b/lib/format_text/archiver.c index 498b6f288..d249b96e6 100644 --- a/lib/format_text/archiver.c +++ b/lib/format_text/archiver.c @@ -348,6 +348,7 @@ int backup_restore_from_file(struct cmd_context *cmd, const char *vg_name, { struct volume_group *vg; int missing_pvs, r = 0; + const struct lv_list *lvl; /* * Read in the volume group from the text file. @@ -355,6 +356,16 @@ int backup_restore_from_file(struct cmd_context *cmd, const char *vg_name, if (!(vg = backup_read_vg(cmd, vg_name, file))) return_0; + /* FIXME: Restore support is missing for now */ + dm_list_iterate_items(lvl, &vg->lvs) + if (lv_is_thin_type(lvl->lv)) { + log_error("Cannot restore Volume Group %s with " + "thin logical volumes. " + "(not yet supported).", vg->name); + r = 0; + goto out; + } + missing_pvs = vg_missing_pv_count(vg); if (missing_pvs == 0) r = backup_restore_vg(cmd, vg); @@ -362,6 +373,7 @@ int backup_restore_from_file(struct cmd_context *cmd, const char *vg_name, log_error("Cannot restore Volume Group %s with %i PVs " "marked as missing.", vg->name, missing_pvs); +out: release_vg(vg); return r; }