1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Heinz Mauelshagen 48778bc503 lvconvert: add new reporting fields for reshaping
During an ongoing reshape, the MD kernel runtime reads stripes relative
to data_offset and starts storing the reshaped stripes (with new raid
layout and/or new stripesize  and/or new number of stripes) relative
to new_data_offset.  This is to avoid writing over any data in place
which is non-atomic by nature and thus be recoverable without data loss
in the transition.  MD uses the term out-of-place reshaping for it.

There's 2 other areas we don't have report capability for:
- number of data stripes vs. total stripes
  (e.g. raid6 with 7 stripes toal has 5 data stripes)
- number of (rotating) parity/syndrome chunks
  (e.g. raid6 with 7 stripes toal has 2 parity chunks; one
   per stripe for P-Syndrome and another one for Q-Syndrome)

Thus, add the following reportable keys:

- reshape_len      (in current units)
- reshape_len_le   (in logical extents)
- data_offset      (in sectors)
- new_data_offset  (     "    )
- data_stripes
- parity_chunks

Enhance lvchange-raid.sh, lvconvert-raid-reshape-linear_to_striped.sh,
lvconvert-raid-reshape-striped_to_linear.sh, lvconvert-raid-reshape.sh
and lvconvert-raid-takeover.sh to make use of new keys.

Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978
2017-03-01 18:50:35 +01:00
..
activate lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
cache cleanup: drop assign before use 2016-10-03 17:49:55 +02:00
cache_segtype lvchange: allow change of cache mode 2016-05-19 18:40:14 +02:00
commands command struct: remove command name refs 2017-02-13 08:20:10 -06:00
config lvconvert/lvcreate: raise maximum number of raid images 2017-02-24 05:20:58 +01:00
datastruct datastruct: Add str_list_wipe. 2016-04-29 19:47:15 +01:00
device devices: Recognise Veritas Dynamic Multipathing 2017-01-10 22:23:23 +00:00
display cleanup: warns from older gcc 2016-07-01 00:44:48 +02:00
error activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
filters cleanup: log_info to log_error 2016-11-03 17:49:07 +01:00
format1 lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
format_pool lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
format_text lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
freeseg doc: change fsf address 2016-01-21 12:11:37 +01:00
label log_info to log_very_verbose 2016-11-03 17:49:07 +01:00
locking cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00
log cleanup: add 'static' for local struct 2016-11-03 12:43:09 +01:00
lvmpolld doc: change fsf address 2016-01-21 12:11:37 +01:00
metadata lvconvert: add missing reshape_len initialization 2017-02-28 23:29:03 +01:00
mirror activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
misc coverity: remove unneeded header files 2017-02-11 21:17:27 +01:00
mm cleanup: compile fixes for --disable-devmapper 2016-06-03 12:46:43 +02:00
notify dbus: also recognize error state for missing service that comes from original D-Bus 2016-11-15 10:09:11 +01:00
properties doc: change fsf address 2016-01-21 12:11:37 +01:00
raid raid: rework _raid_target_present() 2017-03-01 14:52:23 +01:00
replicator doc: change fsf address 2016-01-21 12:11:37 +01:00
report lvconvert: add new reporting fields for reshaping 2017-03-01 18:50:35 +01:00
snapshot activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
striped striped: implement compatible target name 2016-12-05 17:02:01 +01:00
thin macros: Use is_power_of_2. 2016-06-30 17:59:44 +01:00
unknown doc: change fsf address 2016-01-21 12:11:37 +01:00
uuid cleanup :drop unneeded header file 2016-10-03 17:49:56 +02:00
zero activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
Makefile.in lib: Move lcm and gcd to lib/misc for wider use. 2016-08-18 14:06:13 +01:00