1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib/metadata
Dave Wysochanski cdbe475fe3 Define new functions and vgs/pvs fields related to mda ignore.
Define a new pvs field, pv_mda_used_count, and a new vgs field,
vg_mda_used_count to match the existing pv_mda_count and vg_mda_count.
These new fields count the number of mdas that have the 'ignored' bit
clear (they are in use on the PV / VG).  Also define various supporting
functions to implement the counting as well as setting the ignored
flag and determining if an mda is ignored.  These high level functions
call into the lower level location independent mda ignore functions
defined by earlier patches.

Note that counting ignored mdas in a vg requires traversing both lists
and checking for the ignored bit on the mda.  The count of 'ignored'
mdas then is defined by having the bit set, not by which list the mda
is on.  The list does determine whether LVM actually does read/write to
the mda, though we must count the bits in order to return accurate numbers
for the various counts.  Also, pv_mda_set_ignored must search both vg
lists for ignored mda.  If the state changes and needs to be committed
to disk, the ignored mda will be on the non-ignored list.

Note also in pv_mda_set_ignored(), we must properly manage the mda lists.
If we change the ignored state of an mda, we must change any mdas on
vg->fid->metadata_areas that correspond to this pv.  Also, we may
need to allocate a copy of the mda, as is done when fid->metadata_areas
is populated from _vg_read(), if we are un-ignoring an ignored mda.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
2010-06-28 20:33:44 +00:00
..
lv_alloc.h Fix pvmove allocation to take existing parallel stripes into account. 2010-04-08 00:28:57 +00:00
lv_manip.c Replicator: base lvm2 support 2010-05-21 12:36:30 +00:00
merge.c Replicator: check replicator segment 2010-05-21 12:43:02 +00:00
metadata-exported.h Define new functions and vgs/pvs fields related to mda ignore. 2010-06-28 20:33:44 +00:00
metadata.c Define new functions and vgs/pvs fields related to mda ignore. 2010-06-28 20:33:44 +00:00
metadata.h Add metadata_areas_ignored list and functions to manage ignored mdas. 2010-06-28 20:33:22 +00:00
mirror.c Fix for bz608048 from Taka... 2010-06-28 14:19:41 +00:00
pv_alloc.h Fix all segments memory is allocated from vg private mempool. 2010-03-31 17:23:18 +00:00
pv_manip.c Fix all segments memory is allocated from vg private mempool. 2010-03-31 17:23:18 +00:00
pv_map.c Allow ALLOC_ANYWHERE to split contiguous areas. 2010-03-25 21:19:26 +00:00
pv_map.h Allow ALLOC_ANYWHERE to split contiguous areas. 2010-03-25 21:19:26 +00:00
replicator_manip.c Replicator: add read and release VGs for rsites 2010-05-21 14:07:16 +00:00
segtype.c Handle metadata with unknown segment types more gracefully. 2009-10-16 17:41:49 +00:00
segtype.h Account for mirror transient status when doing lvconvert --repair. 2010-05-24 15:32:20 +00:00
snapshot_manip.c When removing a snapshot avoid preloading the origin if the 2010-04-23 02:57:39 +00:00