summaryrefslogtreecommitdiff
path: root/libdm/libdm-targets.c
Commit message (Collapse)AuthorAgeFilesLines
* cache: support no_discard_passdownZdenek Kabelac2019-06-051-0/+2
| | | | | | | | | | | | | | | | | Recent kernel version from kernel commit: de7180ff908b2bc0342e832dbdaa9a5f1ecaa33a started to report in cache status line new flag: no_discard_passdown Whenever lvm spots unknown status it reports: Unknown feature in status: So add reconginzing this feature flag and also report this with 'lvs -o+kernel_discards' When no_discard_passdown is found in status 'nopassdown' gets reported for this field (roughly matching what we report for thin-pools).
* build: Don't generate symlinks in include/ dirJoe Thornber2018-05-141-1/+1
| | | | | | | As we start refactoring the code to break dependencies (see doc/refactoring.txt), I want us to use full paths in the includes (eg, #include "base/data-struct/list.h"). This makes it more obvious when we're breaking abstraction boundaries, eg, including a file in metadata/ from base/
* libdm: accept mirror status with userspace word in the lineZdenek Kabelac2018-02-011-0/+5
| | | | | Just making sure the parser will not stop - although greater level of support needs to be added (Describing doc seems to be missing however).
* thin: always clear memory before parsing statusZdenek Kabelac2017-12-071-1/+3
| | | | Ensure there cannot be 'reused' any data from some previous call.
* libdm: workarounds reported raid status infoZdenek Kabelac2017-06-161-0/+18
| | | | | | | | | | Current existing kernels reports status sometimes in weird form. Instead of showing what is the exact progress, we need to estimate this in-sync state from several surrounding states. Main reason here is to never report 100% sync state for a raid device which will be undergoing i.e. recovery.
* cleanup: use FMTuZdenek Kabelac2017-03-101-11/+11
| | | | Replace some PRIu with FMTu for formating strings.
* libdm: support cache metadata2 feature flagZdenek Kabelac2017-03-101-0/+2
| | | | | | | | | | | | | Dm cache target version 1.10 introduces new cache metadata format (upstream kernel >=4.11). New format is enable by passing new target feature flag metadata2. Interace side on libdm uses DM_CACHE_FEATURE_METADATA2. This feature bit is now also recognized on status and set in 'feature_flags' field of dm_status_cache structure. Code also adds check for 'highest' supported feature flag bit. So it rejects properly any 'unknown' feature bit set by application.
* libdm: passthrough checks traling space charZdenek Kabelac2017-03-101-1/+1
| | | | | When checking for passthrough length, check also for extra ' ' char just like with other feature strings.
* lvconvert: add infrastructure for RaidLV reshaping supportHeinz Mauelshagen2017-02-241-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support striped raid5/6/10 LV reshaping (change of LV type, stripesize or number of legs), this patch introduces infrastructure prerequisites to be used by raid_manip.c extensions in followup patches. This base is needed for allocation of out-of-place reshape space required by the MD raid personalities to avoid writing over data in-place when reading off the current RAID layout or number of legs and writing out the new layout or to a different number of legs (i.e. restripe) Changes: - add members reshape_len to 'struct lv_segment' to store out-of-place reshape length per component rimage - add member data_copies to struct lv_segment to support more than 2 raid10 data copies - make alloc_lv_segment() aware of both reshape_len and data_copies - adjust all alloc_lv_segment() callers to the new API - add functions to retrieve the current data offset (needed for out-of-place reshaping space allocation) and the devices count from the kernel - make libdm deptree code aware of reshape_len - add LV flags for disk add/remove reshaping - support import/export of the new 'struct lv_segment' members - enhance lv_extend/_lv_reduce to cope with reshape_len - add seg_is_*/segtype_is_* macros related to reshaping - add target version check for reshaping - grow rebuilds/writemostly bitmaps to 246 bit to support kernel maximal - enhance libdm deptree code to support data_offset (out-of-place reshaping) and delta_disk (legs add/remove reshaping) target arguments Related: rhbz834579 Related: rhbz1191935 Related: rhbz1191978
* libdm: cache status reports passthrough cache modeZdenek Kabelac2016-05-191-0/+2
| | | | Report passthrough mode instead of 'Unknown feature'.
* raid: Tidy dm_get_status_raid. [HM]Alasdair G Kergon2016-03-221-34/+53
|
* libdm: Move _skip_fields within file.Alasdair G Kergon2016-03-221-11/+12
|
* libdm: Change _advance_to_next_word to _skip_fieldsAlasdair G Kergon2016-03-221-16/+15
|
* libdm: parse more info from cache statusZdenek Kabelac2016-03-101-0/+18
| | | | Parse Fail/Error/need_check/ro status info from cache.
* libdm: thin status updateZdenek Kabelac2016-02-181-7/+22
| | | | | | | | Fix parsing of 'Fail' status (using capital letter) for thin-pool. Add also parsing of 'Error' state for thin-pool. Add needs_check test for thin-pool. Detect Fail state for thin.
* doc: change fsf addressZdenek Kabelac2016-01-211-1/+1
| | | | | Hmm rpmlint suggest fsf is using a different address these days, so lets keep it up-to-date
* libdm: introduce dm_get_status_mirrorZdenek Kabelac2015-12-011-0/+109
| | | | Add missing function to parse mirror status.
* cleanup: typo in commentZdenek Kabelac2015-10-131-1/+1
|
* libdm: Move status fns from deptree to targets.Alasdair G Kergon2015-09-281-0/+357
libdm-deptree is only for functions working with dm tree nodes.