summaryrefslogtreecommitdiff
path: root/lib/format1/format1.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/format1/format1.c')
-rw-r--r--lib/format1/format1.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/format1/format1.c b/lib/format1/format1.c
index b0943b165..1b86ef5d6 100644
--- a/lib/format1/format1.c
+++ b/lib/format1/format1.c
@@ -180,6 +180,8 @@ out:
static struct volume_group *_format1_vg_read(struct format_instance *fid,
const char *vg_name,
struct metadata_area *mda __attribute__((unused)),
+ struct cached_vg_fmtdata **vg_fmtdata __attribute__((unused)),
+ unsigned *use_previous_vg __attribute__((unused)),
int single_device __attribute__((unused)))
{
struct volume_group *vg;
@@ -496,6 +498,11 @@ static int _format1_vg_setup(struct format_instance *fid, struct volume_group *v
if (!vg_check_new_extent_size(vg->fid->fmt, vg->extent_size))
return_0;
+ /* Generate lvm1_system_id if not yet set */
+ if (!*vg->lvm1_system_id &&
+ !generate_lvm1_system_id(vg->cmd, vg->lvm1_system_id, ""))
+ return_0;
+
return 1;
}
@@ -590,7 +597,8 @@ struct format_type *init_format(struct cmd_context *cmd)
fmt->alias = NULL;
fmt->orphan_vg_name = FMT_LVM1_ORPHAN_VG_NAME;
fmt->features = FMT_RESTRICTED_LVIDS | FMT_ORPHAN_ALLOCATABLE |
- FMT_RESTRICTED_READAHEAD | FMT_OBSOLETE;
+ FMT_RESTRICTED_READAHEAD | FMT_OBSOLETE |
+ FMT_SYSTEMID_ON_PVS;
fmt->private = NULL;
dm_list_init(&fmt->mda_ops);