In pv_read_metadata(), removing comparison between data_location->mda_start and pe_start. When a PV is converted from LVM1 format to LVM2 format using the LVM2 tools, this comparison isn't guaranteed to hold. Apply with: cd /usr/src/evms-2.4.1/ patch -p1 < lvm2_metadata.c.patch make install --- evms-2.4.1a/plugins/lvm2/metadata.c 4 Oct 2004 16:53:09 -0000 +++ evms-2.4.1b/plugins/lvm2/metadata.c 8 Nov 2004 22:20:42 -0000 @@ -1011,7 +1011,7 @@ { void *label_buffer = NULL, *mda_buffer = NULL; list_anchor_t data_locations = NULL, metadata_locations = NULL; - metadata_location_t *data_location; +// metadata_location_t *data_location; label_header_t *pv_label; pv_header_t *pv_header; mda_header_t *mda_header = NULL; @@ -1069,6 +1069,10 @@ goto out; } +/* Removing this comparison. LVM1 containers that have been converted to LVM2 + * using the LVM2 tools do not necessarily pass this check. + */ +#if 0 /* Compare the pe_start and the data_location start. */ data_location = EngFncs->first_thing(data_locations, NULL); if (data_location->mda_start != pe_start) { @@ -1080,6 +1084,7 @@ rc = EINVAL; goto out; } +#endif /* Allocate private data for this PV object. */ rc = allocate_pv_data(object, metadata_locations, vgda_tree,