1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00
lvm2/lib
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
..
activate Account for mirror transient status when doing lvconvert --repair. 2010-05-24 15:32:20 +00:00
cache Add lvmcache_vgname_from_pvid(). 2010-05-19 11:52:21 +00:00
commands Revert _init_rand() to reset errno - restores original init behavior. 2010-06-01 21:47:57 +00:00
config Add install_system_dirs makefile target. 2010-05-20 13:47:21 +00:00
datastruct Remove unnecessary / duplicate dm_list macros and functions. 2009-11-25 20:44:07 +00:00
device Avoid selecting names under /dev/block if there is an alternative. 2010-05-24 22:53:48 +00:00
display Use vg_mda_count() in vgdisplay. 2010-06-28 20:32:21 +00:00
error Fix last check-ins: seg can be NULL. 2009-02-28 20:04:24 +00:00
filters Don't merge unchanged persistent cache file before dumping if tool scanned. 2010-06-01 19:02:12 +00:00
format1 Add metadata_areas_ignored list and functions to manage ignored mdas. 2010-06-28 20:33:22 +00:00
format_pool Add metadata_areas_ignored list and functions to manage ignored mdas. 2010-06-28 20:33:22 +00:00
format_text Add metadata_areas_ignored list and functions to manage ignored mdas. 2010-06-28 20:33:22 +00:00
freeseg Fix reporting of LV fields alongside unallocated PV segments. 2008-06-25 16:52:27 +00:00
label Use log_error macro consistently throughout in place of log_err. 2009-07-15 20:02:46 +00:00
locking Clean up cluster lock mode and flags definition. 2010-06-17 12:48:54 +00:00
log Various cleanups following recent commits. 2010-06-21 15:56:57 +00:00
metadata Define new functions and vgs/pvs fields related to mda ignore. 2010-06-28 20:33:44 +00:00
mirror Replace strncmp kernel version number checks with proper ones 2010-05-24 23:11:34 +00:00
misc Use absolute paths in commands 2010-06-03 13:50:26 +00:00
mm Preload libc locale messages. 2010-06-24 08:29:30 +00:00
replicator Right directory name for replicator files. 2010-05-21 13:17:20 +00:00
report Define new functions and vgs/pvs fields related to mda ignore. 2010-06-28 20:33:44 +00:00
snapshot Install plugins to subdirs 2010-05-06 10:07:46 +00:00
striped Use macro outsize() with check for error return value. 2010-01-07 14:46:51 +00:00
unknown Fix the "const discarded" warnings introduced in the unknown segment patch. 2009-10-22 10:38:07 +00:00
uuid Use log_error macro consistently throughout in place of log_err. 2009-07-15 20:02:46 +00:00
zero Attempt to load dm-zero module if zero target needed but not present. (mbroz) 2009-05-27 13:05:53 +00:00
Makefile.in Replicator: base lvm2 support 2010-05-21 12:36:30 +00:00