]> sourceware.org Git - lvm2.git/commit
scanning: optimize by checking text offset and checksum
authorDavid Teigland <teigland@redhat.com>
Tue, 26 Nov 2019 17:56:51 +0000 (11:56 -0600)
committerDavid Teigland <teigland@redhat.com>
Tue, 26 Nov 2019 22:52:28 +0000 (16:52 -0600)
commit0c1316cda876849d5d1375d40e8cdc08db37c2b5
tree773d00a9f991bdd5cdba3d79a24cdfe207eef7d6
parent56a295f78c4638e201ad78a8b25fd7874f2d905d
scanning: optimize by checking text offset and checksum

After the VG lock is taken for vg_read, reread the mda_header
and compare the metadata text offset and checksum to what was
seen during label scan.  If it is unchanged, then the metadata
has not changed since the label scan, and the metadata does not
need to be reread under the lock for command processing.

For commands that do not make changes (e.g. reporting), the
mda_header is reread and checked on one mda to decide if the
full metadata rereading can be skipped.  For other commands
(e.g. modifying the vg) the mda_header is reread and checked
from all PVs.  (These could probably just check one mda also.)
lib/cache/lvmcache.c
lib/cache/lvmcache.h
lib/format_text/format-text.c
lib/format_text/layout.h
lib/format_text/text_label.c
lib/metadata/metadata.c
lib/metadata/metadata.h
This page took 0.036362 seconds and 5 git commands to generate.