1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
David Teigland 5fb15b1934 metadata: improve write and commit code
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.
2018-09-11 10:06:25 -05:00
..
activate filter: add config setting to skip scanning LVs 2018-08-30 09:59:50 -05:00
cache Remove lvmetad 2018-07-11 11:26:42 -05:00
cache_segtype Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
commands filter: add config setting to skip scanning LVs 2018-08-30 09:59:50 -05:00
config filter: add config setting to skip scanning LVs 2018-08-30 09:59:50 -05:00
datastruct build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
device [bcache] Remove unused 'hash' field from blocks. 2018-09-11 13:17:29 +01:00
display display: basic vdo segment lvdisplay and lvs support 2018-07-09 15:28:35 +02:00
error device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
filters filter: add config setting to skip scanning LVs 2018-08-30 09:59:50 -05:00
format_text metadata: improve write and commit code 2018-09-11 10:06:25 -05:00
freeseg device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
label vgcreate: close exclusive fd after pvcreate 2018-08-01 11:22:23 -05:00
locking Remove lvmetad 2018-07-11 11:26:42 -05:00
log device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
lvmpolld device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
metadata lvconvert: allow raid4 -> linear conversion request 2018-09-10 18:43:21 +02:00
mirror Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
misc vdo: component activation of VDO data LV 2018-07-09 15:28:35 +02:00
mm memlock: extend exception list 2018-07-02 10:24:20 +02:00
notify build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
properties build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
raid Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
report report: show empty lock_type for none 2018-06-15 14:14:39 -05:00
snapshot Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
striped device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
thin Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
unknown device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
uuid build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
vdo dmeventd: lvm vdo support 2018-07-09 15:29:16 +02:00
zero device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
Makefile.in Remove lvmetad 2018-07-11 11:26:42 -05:00