| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If LV metadata (typically a flag) is unrecognized by lvm,
then lvm should refuse to allow that LV to be used, but
can continue to allow the VG, and other recognized LVs
to be used.
This can happen if a version of lvm containing a new
feature writes metadata for an LV containing a new flag,
then an old version of lvm is used to access the VG.
The old lvm does not recognize the new flag. Previously,
the old lvm would refuse to recognize or access the entire
VG, when it should have just disallowed access to the
unrecognized LV.
This initial implementation for handling an unrecognized
LV involves setting an internal LV_UNUSABLE flag and
clearing the VISIBLE_LV flag, making the problematic LV
not visible (without -a). Existing code paths generally
disallow accessing an LV that's not visible. Further
changes should be made to make that code distinguish LVs
that are UNUSABLE as opposed to just not VISIBLE.
|
| |
|
|
|
|
|
| |
Cachevol LV is 'internal' LV and should not be 'maintained' this way
while it's being used as cachevol.
|
|
|
|
| |
Code is no longer used/needed.
|
|
|
|
| |
Use same routine for dropping cache.
|
|
|
|
|
|
|
|
|
|
|
| |
Enhance activation of cached devices using cachevol.
Correctly instatiace cachevol -cdata & -cmeta devices with
'-' in name (as they are only layered devices).
Code is also a bit more compacted (although still not ideal,
as the usage of extra UUIDs stored in metadata is troublesome
and will be repaired later).
NOTE: this patch my brink potentially minor incompatiblity for 'runtime' upgrade
|
|
|
|
|
|
| |
This revert "drop cvol dm uuid suffix for cachevol LVs"
commit 5191057d9df3e5b92db3f80c412b99aea1074358.
Start using -cvol for DM UUID.
|
|
|
|
|
|
| |
Instead of using 'noflush' option, switch cache_mode into WRITETHROUGH
which does not require flushing, when user confirmed he does not
want flushing for WRITEBACK (because of (partially) missing caching PV)
|
|
|
|
|
| |
Move dropping of cachevol flag into detach function.
TODO: this flag should be internal to lvm2.
|
|
|
|
|
|
|
| |
When converting existing public LV to internally used
'CacheVol' LV - rename LV to LV_cvol.
When splitting CacheVol, remove _cvol suffix.
|
|
|
|
|
|
| |
For wiping we activate and clear 'regular' devices,
since in case of whole process interuption (i.e. kill -9)
we leave metadata & DM table and workable state all the time.
|
|
|
|
|
| |
To keep things simple, use same code for all cache removal functions,
not just for cachepools but also cachevols.
|
| |
|
| |
|
|
|
|
|
| |
Reload cache target only when lvm2 reload table with
cache with clearer policy.
|
|
|
|
| |
Always good to keep rest of structure initilized with zeros.
|
|
|
|
|
| |
Disable until vdo gets fixed, then require fixed version.
Otherwise test kills kernel
|
|
|
|
| |
Use correct error return code for fail path.
|
|
|
|
|
|
| |
Let vgck --updatemetadata repair cases where different mdas
hold indepedently valid but unmatching copies of the metadata,
i.e. different text metadata checksums or text metadata sizes.
|
|
|
|
|
|
|
|
|
|
| |
vgck --updatemetadata would write the same correct
metadata to good mdas, and then to bad mdas, but the
sequence of vg_write/vg_commit calls betwen good and
bad mdas could cause a different description field to
be generated for good/bad mdas. (The description field
describing the command was recently included in the
ondisk copy of the metadata text.)
|
|
|
|
| |
which is no longer used
|
|
|
|
|
| |
The test is checking only 2 megabytes, but is rewriting much more. Bad
for limited ramdisk.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|