1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Peter Rajnoha f4e56b2829 cleanup: consolidate lv_layout and lv_role reporting
This patch makes the keyword combinations found in "lv_layout" and
"lv_role" much more understandable - there were some ambiguities
for some of the combinations which lead to confusion before.

Now, the scheme used is:

LAYOUTS ("how the LV is laid out"):
===================================
[linear] (all segments have number of stripes = 1)

[striped] (all segments have number of stripes > 1)

[linear,striped] (mixed linear and striped)

raid (raid layout always reported together with raid level, raid layout == image + metadata LVs underneath that make up raid LV)
  [raid,raid1]
  [raid,raid10]
  [raid,raid4]
  [raid,raid5] (exact sublayout not specified during creation - default one used - raid5_ls)
    [raid,raid5,raid5_ls]
    [raid,raid5,raid6_rs]
    [raid,raid5,raid5_la]
    [raid,raid5,raid5_ra]
  [raid6,raid] (exact sublayout not specified during creation - default one used - raid6_zr)
    [raid,raid6,raid6_zr]
    [raid,raid6,raid6_nc]
    [raid,raid6,raid6_ns]

[mirror] (mirror layout == log + image LVs underneath that make up mirror LV)

thin (thin layout always reported together with sublayout)
  [thin,sparse] (thin layout == allocated out of thin pool)
  [thin,pool] (thin pool layout == data + metadata volumes underneath that make up thin pool LV, not supposed to be used for direct use!!!)

[cache] (cache layout == allocated out of cache pool in conjunction with cache origin)
  [cache,pool] (cache pool layout == data + metadata volumes underneath that make up cache pool LV, not supposed to be used for direct use!!!)

[virtual] (virtual layout == not hitting disk underneath, currently this layout denotes only 'zero' device used for origin,thickorigin role)

[unknown] (either error state or missing recognition for such layout)

ROLES ("what's the purpose or use of the LV - what is its role"):
=================================================================
- each LV has either of these two roles at least:  [public] (public LV that users may use freely to write their data to)

  [public] (public LV that users may use freely to write their data to)
  [private] (private LV that LVM maintains; not supposed to be directly used by user to write his data to)

- and then some special-purpose roles in addition to that:

  [origin,thickorigin] (origin for thick-style snapshot; "thick" as opposed to "thin")
  [origin,multithickorigin] (there are more than 2 thick-style snapshots for this origin)
  [origin,thinorigin] (origin for thin snapshot)
  [origin,multithinorigin] (there are more than 2 thin snapshots for this origin)
  [origin,extorigin] (external origin for thin snapshot)
  [origin,multiextoriginl (there are more than 2 thin snapshots using this external origin)
  [origin,cacheorigin] (cache origin)

  [snapshot,thicksnapshot] (thick-style snapshot; "thick" as opposed to "thin")
  [snapshot,thinsnapshot] (thin-style snapshot)

  [raid,metadata] (raid metadata LV)
  [raid,image] (raid image LV)

  [mirror,image] (mirror image LV)
  [mirror,log] (mirror log LV)
  [pvmove] (pvmove LV)

  [thin,pool,data] (thin pool data LV)
  [thin,pool,metadata] (thin pool metadata LV)

  [cache,pool,data] (cache pool data LV)
  [cache,pool,metadata] (cache pool metadata LV)

  [pool,spare] (pool spare LV - common role of LV that makes it used for both thin and cache repairs)
2014-08-25 16:14:40 +02:00
..
activate cleanup: avoid double assign 2014-08-19 14:33:06 +02:00
cache cleanup: just safely copy string 2014-07-04 12:31:17 +02:00
cache_segtype cache: use get_cache_mode for validation 2014-07-17 16:16:45 +02:00
commands conf: add report/list_item_separator lvm.conf option 2014-07-10 16:18:45 +02:00
config thin and cache: unify pool common code 2014-07-22 22:41:38 +02:00
datastruct cleanup: consolidate lv_layout and lv_role reporting 2014-08-25 16:14:40 +02:00
device cleanup: use just PATH_MAX size 2014-08-19 14:33:06 +02:00
display lvresize: Fix raid/mirror and %PE handling code. 2014-08-22 01:26:14 +01:00
error cleanup: modules_needed only for devmapper 2014-04-30 10:26:30 +02:00
filters cleanup: use just PATH_MAX size 2014-08-19 14:33:06 +02:00
format1 metadata: fix ALLOCATABLE_PV for lvm1 format 2014-07-11 12:24:15 +02:00
format_pool pvscan: use format feature flags in lvmetad code 2014-01-08 02:13:13 +00:00
format_text metadata: Reinstate system info in metadata. 2014-07-21 15:54:20 +01:00
freeseg cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
label cleanup: remove unneeded header files 2014-02-11 19:00:06 +01:00
locking cleanup: avoid double assign 2014-08-19 14:33:06 +02:00
log report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
metadata cleanup: consolidate lv_layout and lv_role reporting 2014-08-25 16:14:40 +02:00
mirror report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
misc cleanup: avoid double assign 2014-08-19 14:33:06 +02:00
mm memlock: skip more entries 2014-06-20 11:13:41 +02:00
properties report: add separate fields for PV/VG/LV attributes 2014-07-04 15:40:17 +02:00
raid refactor: add defines for raid segtypes 2014-08-15 13:28:43 +02:00
replicator compilation: fix warnings: build_dm_uuid now accepts whole struct logical_volume, not lvid 2014-06-18 14:43:13 +02:00
report report: use dm_report_field_string_list_unordered for reporting lv_layout and lv_role fields 2014-08-25 16:11:40 +02:00
snapshot report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
striped metadata: use outfc for comments 2014-07-17 16:17:44 +02:00
thin report: select: refactor: move percent handling code to libdm for reuse 2014-06-17 16:27:21 +02:00
unknown unknown: add_target_line is not needed 2014-04-30 10:26:30 +02:00
uuid cleanup: drop unused define 2014-03-12 19:12:34 +01:00
zero cleanup: modules_needed only for devmapper 2014-04-30 10:26:30 +02:00
Makefile.in locking: Separate out flock and signal code. 2014-05-01 17:37:14 +01:00