mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
32ae07cef1
...to not pollute the common and format-independent code in the abstraction layer above. The format1 pv_write has common code for writing metadata and PV header by calling the "write_disks" fn and when rewriting the header itself only (e.g. just for the purpose of changing the PV UUID) during the pvchange operation, we had to tweak this functionality for the format1 case and we had to assign the PV the orphan state temporarily. This patch removes the need for this format1 tweak and it calls the write_disks with appropriate flag indicating whether this is a PV write call or a VG write call, allowing for metatada update for the latter one. Also, a side effect of the former tweak was that it effectively invalidated the cache (even for the non-format1 PVs) as we assigned it the orphan state temporarily just for the format1 PV write to pass. Also, that tweak made it difficult to directly detect whether a PV was part of a VG or not because the state was incorrect. Also, it's not necessary to backup and restore some PV fields when doing a PV write: orig_pe_size = pv_pe_size(pv); orig_pe_start = pv_pe_start(pv); orig_pe_count = pv_pe_count(pv); ... pv_write(pv) ... pv->pe_size = orig_pe_size; pv->pe_start = orig_pe_start; pv->pe_count = orig_pe_count; ...this is already done by the layer below itself (the _format1_pv_write fn). So let's have this cleaned up so we don't need to be bothered about any 'format1 special case for pv_write' anymore. |
||
---|---|---|
.. | ||
.exported_symbols | ||
disk-rep.c | ||
disk-rep.h | ||
format1.c | ||
format1.h | ||
import-export.c | ||
import-extents.c | ||
layout.c | ||
lvm1-label.c | ||
lvm1-label.h | ||
Makefile.in | ||
vg_number.c |