1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00
lvm2/tools
Jonathan Brassow 96626f64fa cache: Code to allow the create/remove of cache LVs
This patch allows users to create cache LVs with 'lvcreate'.  An origin
or a cache pool LV must be created first.  Then, while supplying the
origin or cache pool to the lvcreate command, the cache can be created.

Ex1:
Here the cache pool is created first, followed by the origin which will
be cached.
~> lvcreate --type cache_pool -L 500M -n cachepool vg /dev/small_n_fast
~> lvcreate --type cache -L 1G -n lv vg/cachepool /dev/large_n_slow

Ex2:
Here the origin is created first, followed by the cache pool - allowing
a cache LV to be created covering the origin.
~> lvcreate -L 1G -n lv vg /dev/large_n_slow
~> lvcreate --type cache -L 500M -n cachepool vg/lv /dev/small_n_fast

The code determines which type of LV was supplied (cache pool or origin)
by checking its type.  It ensures the right argument was given by ensuring
that the origin is larger than the cache pool.

If the user wants to remove just the cache for an LV.  They specify
the LV's associated cache pool when removing:
~> lvremove vg/cachepool

If the user wishes to remove the origin, but leave the cachepool to be
used for another LV, they specify the cache LV.
~> lvremove vg/lv

In order to remove it all, specify both LVs.

This patch also includes tests to create and remove cache pools and
cache LVs.
2014-02-04 16:50:16 -06:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore More .gitignore files for an in-source-tree build. 2012-06-08 16:34:43 +01:00
args.h cache: Code changes to allow creation of cache pools 2014-02-04 11:57:08 -06:00
cmdnames.h Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
commands.h cache: Code changes to allow creation of cache pools 2014-02-04 11:57:08 -06:00
dmsetup.c gcc: replace #ifdef linux with __linux__ 2013-11-13 13:56:29 +00:00
dumpconfig.c dumpconfig: also mention profilable type if giving hint about known types 2013-08-19 08:32:03 +02:00
errors.h lvresize: separate validation from action 2013-07-06 03:28:21 +01:00
formats.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvchange.c cleanup: use compound literals for wipe_lv 2013-11-28 12:45:52 +01:00
lvconvert.c misc: disambiguate 'update_pool_params' 2014-02-04 09:58:35 -06:00
lvcreate.c cache: Code to allow the create/remove of cache LVs 2014-02-04 16:50:16 -06:00
lvdisplay.c Rework the toollib interface (process_each_*) on top of new vg_read. 2009-07-01 17:00:50 +00:00
lvextend.c Some whitespace tidy-ups. 2008-01-30 14:00:02 +00:00
lvm2cmd-static.c Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
lvm2cmd.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvm2cmd.h lvresize: separate validation from action 2013-07-06 03:28:21 +01:00
lvm2cmdline.h Support repetition of --addtag and --deltag arguments. 2010-11-11 17:29:05 +00:00
lvm-static.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvm.c config: add profile arg to find_config_tree_int 2013-07-02 15:19:09 +02:00
lvmchange.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
lvmcmdlib.c cleanup: drop unneeded included header files 2012-08-23 14:37:20 +02:00
lvmcmdline.c cmdline: Add --ignoreskippedcluster. 2013-10-01 21:20:10 +01:00
lvmdiskscan.c Few more close and dev_close trace 2012-03-01 21:12:37 +00:00
lvreduce.c Some whitespace tidy-ups. 2008-01-30 14:00:02 +00:00
lvremove.c snapshot: move virtsnap code from tool to lib 2013-10-12 00:14:52 +02:00
lvrename.c cleanup: stack usage 2013-07-01 23:11:14 +02:00
lvresize.c lvresize: separate validation from action 2013-07-06 03:28:21 +01:00
lvscan.c config: add silent mode 2012-08-25 20:35:48 +01:00
Makefile.in tools: Add internal tags command. 2014-01-30 13:09:15 +00:00
polldaemon.c pvmove: clean exit on failed pvmove restart 2013-09-23 19:46:28 +01:00
polldaemon.h Start using 64-bit status flags - most of the code already handles them. 2011-09-06 18:49:31 +00:00
pvchange.c locking: Make it possible to pass down an LV to activation code. 2013-06-10 17:26:38 +02:00
pvck.c Move the core of the lib/config/config.c functionality into libdevmapper, 2011-08-30 14:55:15 +00:00
pvcreate.c tools: remove metadata-exported.h 2013-07-09 03:07:55 +01:00
pvdisplay.c cmdline: Add --ignoreskippedcluster. 2013-10-01 21:20:10 +01:00
pvmove.c pvcreate: Avoid spurious 'not found' messages. 2013-11-29 21:45:37 +00:00
pvremove.c pvremove: stack trace 2013-07-08 14:01:41 +02:00
pvresize.c tools: remove metadata-exported.h 2013-07-09 03:07:55 +01:00
pvscan.c activation: change log_error to log_warn if refresh before autoactivation fails 2013-11-27 08:53:26 +01:00
reporter.c pvs: fix segfaults with orphans 2014-01-14 03:17:27 +00:00
segtypes.c Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
stub.h Use __attribute__ consistently throughout. 2010-07-09 15:34:40 +00:00
tags.c tools: Add internal tags command. 2014-01-30 13:09:15 +00:00
toollib.c compilation: Rename tags variables to tagsl. 2014-01-30 21:09:28 +00:00
toollib.h compilation: Rename tags variables to tagsl. 2014-01-30 21:09:28 +00:00
tools.h filters: check for mpath before opening devs 2013-08-13 23:26:58 +01:00
vgcfgbackup.c cleanup: stack usage 2013-07-01 23:11:14 +02:00
vgcfgrestore.c vgcfgrestore: Remove VG rom lvmetad later, to better deal with errors. 2013-09-18 11:24:58 +02:00
vgchange.c device: add physical block size info and make sure VG extent size >= PV's phys. block size 2013-12-12 15:02:36 +01:00
vgck.c vgck: Fix #894136, notice on-disk corruption in spite of lvmetad. 2013-08-13 23:25:49 +02:00
vgconvert.c vgconvert: Do not call lvmetad_vg_remove (path shared with vgcfgbackup). 2013-09-18 12:53:11 +02:00
vgcreate.c metadata: add support for storing profile name in metadata (during vgcreate/lvcreate) 2013-07-02 15:19:09 +02:00
vgdisplay.c vgdisplay: select only active volumes groups if -A option is used 2013-12-03 14:43:00 +01:00
vgexport.c config: add silent mode 2012-08-25 20:35:48 +01:00
vgextend.c cleanup: introduce return_ECMD_FAILED macro 2013-07-01 23:10:33 +02:00
vgimport.c cleanup: comments and a message 2013-07-24 22:10:37 +01:00
vgmerge.c thin: vgsplit and vgmerge spare support 2013-07-18 18:22:44 +02:00
vgmknodes.c cleanup: introduce return_ECMD_FAILED macro 2013-07-01 23:10:33 +02:00
vgreduce.c metadata.c: Call refactored vgreduce_single 2013-11-19 14:40:30 -06:00
vgremove.c cleanup: introduce return_ECMD_FAILED macro 2013-07-01 23:10:33 +02:00
vgrename.c vgrename: run fullscan 2013-10-08 13:39:11 +02:00
vgscan.c locking: Make it possible to pass down an LV to activation code. 2013-06-10 17:26:38 +02:00
vgsplit.c thin: vgsplit and vgmerge spare support 2013-07-18 18:22:44 +02:00