1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/tools
Zdenek Kabelac 5bb6266046 lvconvert: support cache to external origin conversion
Add this functionality to lvconvert:

'lvconvert --thin cachedLV --thinpool vg/poll'

Converts cachedLV to external origin (which will be read-only).
New thin volume is created in thinpool LV and it's using external
origin as source for unprovisioned chunks.
This conversion happens  online (while volume is in use).
Thin LV remains fully writable.
Cached external origin no longer could be written so cache will be used
ONLY for read operations. For this limitation we require cache mode
to be writethrough (as writeback cannot write to read-only volumes).

When  thinLV is later removed  cached external origin is again
fully usable, just note, LV remain in 'read-only' mode.
When read-write is needed,  'lvchange -prw' has to be used.

Single external origin could be user by multiple thinLV in
multiple differen thin pool.
2016-12-18 19:35:27 +01:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore gitignore: Update for in-place build. 2015-07-27 13:18:35 +01:00
args.h lvchange: Allow device specification when requesting a repair 2016-08-05 16:01:46 +02:00
cmdnames.h doc: change fsf address 2016-01-21 12:11:37 +01:00
commands.h lvchange: Allow device specification when requesting a repair 2016-08-05 16:01:46 +02:00
dmsetup.c dmstats: don't declare _start_timestamp if HAVE_SYS_TIMERFD_H 2016-12-18 14:08:11 +00:00
dumpconfig.c coverity: easier to follow set-up of vsn variable 2016-07-13 21:52:14 +02:00
errors.h doc: change fsf address 2016-01-21 12:11:37 +01:00
formats.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvchange.c thin: fix lvchange of discards and zero flag 2016-09-19 14:00:56 +02:00
lvconvert_poll.c cleanup: substract integers 2016-05-27 15:47:24 +02:00
lvconvert_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lvconvert.c lvconvert: support cache to external origin conversion 2016-12-18 19:35:27 +01:00
lvcreate.c cleanup: add some dots and use display_lvname 2016-11-25 15:01:27 +01:00
lvdisplay.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvextend.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmdline.h refactor: move 'interactive' field from struct command_line to struct cmd_context as 'is_interactive' switch 2016-06-20 11:33:43 +02:00
lvm-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm.c report: add report_reset_cmdlog_seqnum and call it for each new cmd executed in lvm shell 2016-08-09 18:49:11 +02:00
lvmchange.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvmcmdlib.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvmcmdline.c Revert "cleanup: simplier assign of cmd vars" 2016-10-03 18:14:17 +01:00
lvmdiskscan.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvpoll.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvreduce.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvremove.c lvconvert: use process_each_lv 2016-05-25 15:05:49 -05:00
lvrename.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
lvresize.c lvresize: let pass even protected names like _tmeta 2016-06-24 00:39:14 +02:00
lvscan.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
Makefile.in vgimportclone: add native command 2016-06-22 13:13:10 -05:00
polldaemon.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
pvchange.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvck.c doc: change fsf address 2016-01-21 12:11:37 +01:00
pvcreate.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvdisplay.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvmove_poll.c cleanup: reuse existing function 2016-12-11 23:24:19 +01:00
pvmove_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove.c debug: more stacktrace corrections 2016-11-25 14:58:28 +01:00
pvremove.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvresize.c toollib: add 'parent' field to processing_handle; init report format only if there's no parent 2016-06-20 11:33:41 +02:00
pvscan.c pvscan: fix autoactivation of exported VG 2016-11-02 16:29:52 -05:00
reporter.c activation: lv_info_with_seg_status API change 2016-12-05 17:09:47 +01:00
segtypes.c doc: change fsf address 2016-01-21 12:11:37 +01:00
stub.h doc: change fsf address 2016-01-21 12:11:37 +01:00
tags.c doc: change fsf address 2016-01-21 12:11:37 +01:00
tool.h doc: change fsf address 2016-01-21 12:11:37 +01:00
toollib.c cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00
toollib.h toollib: Record whether or not stripes/stripe_size args supplied. 2016-08-19 13:51:43 +01:00
tools.h args: add priorities for grouping args 2016-06-20 11:33:42 +02:00
vgcfgbackup.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgcfgrestore.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgchange.c cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00
vgck.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
vgconvert.c cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00
vgcreate.c vgcreate: allow pvcreate force option 2016-07-06 14:10:53 -05:00
vgdisplay.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgexport.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgextend.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgimport.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgimportclone.c debug: more stacktrace corrections 2016-11-25 14:58:28 +01:00
vgmerge.c doc: change fsf address 2016-01-21 12:11:37 +01:00
vgmknodes.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgreduce.c cleanup: add missing WARNING into log_warn 2016-11-25 15:01:27 +01:00
vgremove.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
vgrename.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgscan.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgsplit.c cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00