diff --git a/WHATS_NEW b/WHATS_NEW index 19674af62..a26e50d02 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.92 - ==================================== + Skip pv/vg_set_fid processing if the fid is same. Check for foreach loop errors in _vg_read_orphans() (2.02.91). Clean error paths for format instance creation (2.02.91). Release vg in error path of _format1_vg_read() instead of just free(). diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index e3e3c37c2..005f17d44 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -4149,6 +4149,9 @@ bad: void pv_set_fid(struct physical_volume *pv, struct format_instance *fid) { + if (fid == pv->fid) + return; + if (fid) fid->ref_count++; @@ -4163,6 +4166,9 @@ void vg_set_fid(struct volume_group *vg, { struct pv_list *pvl; + if (fid == vg->fid) + return; + if (fid) fid->ref_count++;