1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib/metadata
David Teigland 01156de6f7 lvmcache: add optional dev arg to lvmcache_info_from_pvid
A number of places are working on a specific dev when they
call lvmcache_info_from_pvid() to look up an info struct
based on a pvid.  In those cases, pass the dev being used
to lvmcache_info_from_pvid().  When a dev is specified,
lvmcache_info_from_pvid() will verify that the cached
info it's using matches the dev being processed before
returning the info.  Calling code will not mistakenly
get info for the wrong dev when duplicate devs exist.

This confusion was happening when scanning labels when
duplicate devs existed.  label_read for the first dev
would add an info struct to lvmcache for that dev/pvid.
label_read for the second dev would see the pvid in
lvmcache from first dev, and mistakenly conclude that
the label_read from the second dev can be skipped
because it's already been done.  By verifying that the
dev for the cached pvid matches the dev being read,
this mismatch is avoided and the label is actually read
from the second duplicate.
2016-06-07 15:15:47 -05:00
..
cache_manip.c debug: use display_lvname 2016-05-27 15:47:24 +02:00
lv_alloc.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lv_manip.c cleanup: use display_name 2016-06-01 17:40:26 +02:00
lv.c snapshot: for invalid snapshot show 100% 2016-05-27 17:25:37 +02:00
lv.h lv: introduce lvseg_percent_with_info_and_seg_status 2016-05-27 15:47:24 +02:00
merge.c metadata: Tidy merge.c 2016-05-24 00:57:48 +01:00
metadata-exported.h cleanup: drop cmd and constify lv for lv_refresh_suspend_resume() 2016-05-27 15:47:24 +02:00
metadata.c lvmcache: add optional dev arg to lvmcache_info_from_pvid 2016-06-07 15:15:47 -05:00
metadata.h metadata: add support for interconnection of thin pool LV segment with indirect origin 2016-03-03 13:46:40 +01:00
mirror.c metadata: also look at historical LVs when checking LV name availability 2016-03-03 13:50:59 +01:00
pool_manip.c metadata: also look at historical LVs when checking LV name availability 2016-03-03 13:50:59 +01:00
pv_alloc.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pv_manip.c lvmcache: add optional dev arg to lvmcache_info_from_pvid 2016-06-07 15:15:47 -05:00
pv_map.c doc: change fsf address 2016-01-21 12:11:37 +01:00
pv_map.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pv.c lvmcache: add optional dev arg to lvmcache_info_from_pvid 2016-06-07 15:15:47 -05:00
pv.h pv: add is_used_pv fn 2016-02-15 12:44:46 +01:00
raid_manip.c raid0: Standardise meta_areas checks before access. 2016-05-23 22:55:13 +01:00
replicator_manip.c doc: change fsf address 2016-01-21 12:11:37 +01:00
segtype.c doc: change fsf address 2016-01-21 12:11:37 +01:00
segtype.h raid0: Standardise meta_areas checks before access. 2016-05-23 22:55:13 +01:00
snapshot_manip.c snapshot: check merging_cow is cow 2016-05-27 15:47:24 +02:00
thin_manip.c gcc: cleanup some sign warnings 2016-02-23 12:25:25 +01:00
vg.c metadata: add historical_glv_remove 2016-03-03 13:50:57 +01:00
vg.h metadata: add historical_glv_remove 2016-03-03 13:50:57 +01:00