From: David Teigland Date: Tue, 16 Feb 2016 19:02:00 +0000 (-0600) Subject: metadata: use pv_write_list for _check_old_pv_ext_for_vg X-Git-Tag: v2_02_144~43 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=5dd615c41ee1c6c77a927b5f39bf1554caaa572f;p=lvm2.git metadata: use pv_write_list for _check_old_pv_ext_for_vg The _check_old_pv_ext_for_vg() function only needs to do pv_write(), so it can use the simpler pv_list structs on the pv_write_list. --- diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index a5ee8654c..d7a9d81b7 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -3084,12 +3084,12 @@ out: return r; } -static int _pv_in_pvs_to_write_list(struct physical_volume *pv, struct volume_group *vg) +static int _pv_in_pv_list(struct physical_volume *pv, struct dm_list *head) { - struct pv_to_write *pvw; + struct pv_list *pvl; - dm_list_iterate_items(pvw, &vg->pvs_to_write) { - if (pvw->pv == pv) + dm_list_iterate_items(pvl, head) { + if (pvl->pv == pv) return 1; } @@ -3102,8 +3102,7 @@ static int _pv_in_pvs_to_write_list(struct physical_volume *pv, struct volume_gr */ static int _check_old_pv_ext_for_vg(struct volume_group *vg) { - struct pv_list *pvl; - struct pv_to_write *pvw; + struct pv_list *pvl, *new_pvl; int pv_needs_rewrite; if (!(vg->fid->fmt->features & FMT_PV_FLAGS)) @@ -3122,15 +3121,15 @@ static int _check_old_pv_ext_for_vg(struct volume_group *vg) /* * Schedule PV for writing only once! */ - if (_pv_in_pvs_to_write_list(pvl->pv, vg)) + if (_pv_in_pv_list(pvl->pv, &vg->pv_write_list)) continue; - if (!(pvw = dm_pool_zalloc(vg->vgmem, sizeof(*pvw)))) { + if (!(new_pvl = dm_pool_zalloc(vg->vgmem, sizeof(*new_pvl)))) { log_error("pv_to_write allocation for '%s' failed", pv_dev_name(pvl->pv)); return 0; } - pvw->pv = pvl->pv; - dm_list_add(&vg->pvs_to_write, &pvw->list); + new_pvl->pv = pvl->pv; + dm_list_add(&vg->pv_write_list, &new_pvl->list); } }