mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
5fb15b1934
The vg_write/vg_commit code was imprecise, uncommented, and hard to understand. Rewrite it with clearer, cleaner code, extensive comments, descriptions of how it works, and add more info in debugging output. The minor changes in behavior are to things that were either incorrect or probably unintended: - vg_write/vg_commit no longer check that the current vgname at the start of the text metadata matches the vgname being written. This has already been done at least twice by the time they are called, and repeating it again against the same cached data has no use. - A fragment of old removed code had been left behind that checked if the old unused alignment policy would wrap. It was still being checked to decide if the metadata area was full, which could possibly cause an incorrect full metadata failure. - vg_remove now clears both the raw_locns in the mda_header that point to committed metadata (raw_locn slot 0) and precommitted metadata (raw_locn slot 1). Previously it fully cleared the committed slot, and would only clear the offset field in the precommitted slot if it saw a problem with the metadata in the vg being removed. - read_metadata_location_summary was wrongly comparing the number of wrapped bytes with an offset to report an error about the metadata being too large. This wrong check is removed, it could have resulted in erroneous errors. |
||
---|---|---|
.. | ||
activate | ||
cache | ||
cache_segtype | ||
commands | ||
config | ||
datastruct | ||
device | ||
display | ||
error | ||
filters | ||
format_text | ||
freeseg | ||
label | ||
locking | ||
log | ||
lvmpolld | ||
metadata | ||
mirror | ||
misc | ||
mm | ||
notify | ||
properties | ||
raid | ||
report | ||
snapshot | ||
striped | ||
thin | ||
unknown | ||
uuid | ||
vdo | ||
zero | ||
Makefile.in |