| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command replaces the cachevol in a cache LV
with another LV. The replacement LV should contain
a repaired copy of the cachevol. When the main LV
is activated, it will use the replacement cachevol
for caching. The previous cachevol becomes a visible,
unused LV.
$ lvs -a vg
LV VG Attr LSize Pool Origin
[fast] vg Cwi---C--- 8.00g
fast2 vg -wi------- 8.00g
main vg Cwi---C--- 32.00g [fast] [main_corig]
[main_corig] vg owi---C--- 32.00g
$ lvconvert --replacecachevol fast mm/fast2
Replace current cachevol fast with fast2 for caching vg/main? [y/n]: y
LV vg/main is now using cachevol vg/fast2 for caching.
The previous cachevol vg/fast is now unused.
$ lvs -a vg
LV VG Attr LSize Pool Origin
fast vg -wi------- 8.00g
[fast2] vg Cwi---C--- 8.00g
main vg Cwi---C--- 32.00g [fast2] [main_corig]
[main_corig] vg owi---C--- 32.00g
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When dm-cache metadata and data are placed on a cachevol,
this command is used to recover from damaged cache metadata.
The command runs cache_repair with input from the existing
cachevol, and output to the unused destination LV in the
first position arg. This writes repaired metadata to the
destination LV. Then cache data is copied from the
existing cachevol LV to the destination LV.
If this is successful, the user can replace the damaged
cachevol with the LV containing the repaired metadata
and data.
$ lvs -a vg
LV VG Attr LSize Pool Origin
[fast] vg Cwi---C--- 8.00g
fast2 vg -wi------- 8.00g
main vg Cwi---C--- 32.00g [fast] [main_corig]
[main_corig] vg owi---C--- 32.00g
$ lvconvert --repaircachevol fast vg/fast2
Erase all existing data on vg/fast2? [y/n]: y
cache_repair wrote repaired metadata to vg/fast2.
copying 7 GiB of cache data to vg/fast2...
copied 1 GiB of 7 GiB of cache data...
copied 2 GiB of 7 GiB of cache data...
copied 3 GiB of 7 GiB of cache data...
copied 4 GiB of 7 GiB of cache data...
copied 5 GiB of 7 GiB of cache data...
copied 6 GiB of 7 GiB of cache data...
copied 7 GiB of 7 GiB of cache data...
copied 8522825728 bytes of cache data from vg/fast to vg/fast2.
|
|
|
|
|
|
|
|
|
| |
If a VG is forcibly changed from lock_type sanlock to
lock_type none, the internal lvmlock LV is left behind.
If that LV is not removed before vgremove is run on the
VG, then an internal check will be triggered by the
hidden lvmlock LV. So, check for and remove a left over
lvmlock LV during vgremove.
|
|
|
|
|
|
| |
in wipefs fallback, use limited dd and mdadm --zero-superblock
to avoid writing to entire dev in case dev space is provisioned
on write.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add lots of vdo fields:
vdo_operating_mode - For vdo pools, its current operating mode.
vdo_compression_state - For vdo pools, whether compression is running.
vdo_index_state - For vdo pools, state of index for deduplication.
vdo_used_size - For vdo pools, currently used space.
vdo_saving_percent - For vdo pools, percentage of saved space.
vdo_compression - Set for compressed LV (vdopool).
vdo_deduplication - Set for deduplicated LV (vdopool).
vdo_use_metadata_hints - Use REQ_SYNC for writes (vdopool).
vdo_minimum_io_size - Minimum acceptable IO size (vdopool).
vdo_block_map_cache_size - Allocated caching size (vdopool).
vdo_block_map_era_length - Speed of cache writes (vdopool).
vdo_use_sparse_index - Sparse indexing (vdopool).
vdo_index_memory_size - Allocated indexing memory (vdopool).
vdo_slab_size - Increment size for growing (vdopool).
vdo_ack_threads - Acknowledging threads (vdopool).
vdo_bio_threads - IO submitting threads (vdopool).
vdo_bio_rotation - IO enqueue (vdopool).
vdo_cpu_threads - CPU threads for compression and hashing (vdopool).
vdo_hash_zone_threads - Threads for subdivide parts (vdopool).
vdo_logical_threads - Logical threads for subdivide parts (vdopool).
vdo_physical_threads - Physical threads for subdivide parts (vdopool).
vdo_max_discard - Maximum discard size volume can recieve (vdopool).
vdo_write_policy - Specified write policy (vdopool).
vdo_header_size - Header size at front of vdopool.
Previously only 'lvdisplay -m' was exposing them.
|
|
|
|
|
| |
Store write_policy in vdopool metadata.
In case it's not present 'auto' is selected.
|
| |
|
| |
|
|
|
|
| |
This is 'setting' function.
|
| |
|
|
|
|
|
| |
Since 'vdo create' tends to use this setting,
update lvm2 to provide same default.
|
|
|
|
|
|
|
|
|
|
| |
Since we now support activation of 'vdo' volume
without explicit activation of 'vdopool' it's now possible
to have active layer vdopool (-vpool) volume and
having vdopool itself inactive - yet still in this
case we can show available stats for this volume.
But we need to show correct activation status and other
standard info.
|
|
|
|
|
| |
Continue commit a98b77c16455ee97f5bd4b89536a3ae4efd8e009.
There needs to be error reported when status can't be obtained.
|
| |
|
|
|
|
|
|
|
|
| |
Adds support for the DM_GET_TARGET_VERSION to dmsetup.
It introduces a new comman "target-version" that will accept list
of targets and print their version.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
|
|
|
|
|
| |
Correct included header files for this outdated tool since
it's linked with libdm, it need to use header files from this dir.
|
|
|
|
|
|
| |
Set a failure flag when vg_read returns an error
for test mode. The caller can segfault if there's
an error with no flag set.
|
|
|
|
|
| |
lvm2-activation-generator is not installed when systemd is not in the
system.
|
|
|
|
|
| |
which falls back to using dd on old systems without
the wipefs command
|
|
|
|
|
|
|
|
| |
Use /dev/md33 instead of /dev/md0 to reduce chances of
conflicting with an existing name.
Only call 'mdadm --stop /dev/md33' for cleanup and don't
use 'mdadm --stop --scan' to avoid stopping other md devs.
|
|
|
|
| |
Also add health char check.
|
|
|
|
|
|
|
|
|
|
| |
Due to a dm-raid target flaw fixed in target version 1.15.0,
extents of raid sets don't get resynchronized when new MD bitmp
pages have to be allocated due to the extension.
Introduce lvextend-raid.sh to test this flaw.
Related: rhbz1671964
|
|
|
|
| |
Related: rhbz1640630
|
| |
|
|
|
|
| |
adjust to recent improvements in duplicate handling
|
|
|
|
| |
Prefer a device if its name matches the PV device name hint.
|
|
|
|
| |
Prefer a device if it matches the size of the PV.
|
|
|
|
|
| |
Expand the lvmcache info that is saved by the scan to
include PV info from the metadata.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the PV device names in the VG metadata do not match the
current PV device names seen on the system, do not use the
optimized activation function (that avoids extra device scanning.)
When the device names do not match, it's a clue that there could
be duplicate PVs, in which case we want to scan all devicess to
find any duplicates and stop the activation if found.
This does not prevent autoactivating a VG from the incorrect
duplicate PV, because the incorrect duplicate may appear by itself
first. At that point its duplicate PV does not exist to be seen.
(A future enhancement could use the WWID to strengthen this
detection.)
|
|
|
|
| |
Start by using it in a comment for a missing PV.
|
|
|
|
|
| |
instead of getting them through fid arg
no functional change
|
|
|
|
|
|
| |
Analogous to the case of a device with no regions, it is not an
error to attempt to list the stats groups on a device that has no
configured groups: just return success and continue.
|
|
|
|
| |
Switch to -vpool layered name needs to monitor proper device.
|
|
|
|
|
|
|
|
|
|
| |
Avoid checking 'lv_is_active()' since special LV types does this
validation anyway what calling _percent() function and call it
ONLY when none of special types is queried.
This restores support for VDO resize (as with support for
separate VDO pool activation, plain query for lv_is_active()
is not working in this case).
|
|
|
|
|
|
|
|
|
|
|
| |
If the linear mapping is lost (for whatever reason, i.e.
test suite forcible 'dmsetup remove' linear LV,
lvm2 had hard times figuring out how to deactivate such DM table.
So add function which is in case inactive VDO pool LV checks if
the pool is actually still active (-vpool device present) and
it has open count == 0. In this case deactivation is allowed
to continue and cleanup DM table.
|
|
|
|
|
| |
try to clear any existing md devs remaining after
a test
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
splitcache followed by an automatic lvremove of
the cachevol LV
|
| |
|
|
|
|
|
|
| |
put writecache specific code in writecache_manip.c
should be no functional change
|
|
|
|
|
| |
When an LV is removed that has an attached cachevol,
also remove the cachevol LV.
|
|
|
|
| |
add some uncache commands
|
|
|
|
|
| |
splitcache followed by an automatic lvremove of
the cachevol LV
|