summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pvmove: use toollibdev-dct-pvmove-2David Teigland2016-01-182-125/+109
| | | | | | | | | | | | | | | | | | | | | | Previously, pvmove used the function find_pv_in_vg() which did the equivalent of process_each_pv() by doing: find_pv_by_name() -> get_pvs() -> get_pvs_internal() -> _get_pvs() -> get_vgids() -> /* equivalent to process_each_pv */ dm_list_iterate_items(vgids) vg = vg_read_internal() dm_list_iterate_items(&vg->pvs) With the found 'pv', it would do vg_read() on pv_vg_name(pv), and then do the actual pvmove processing. This commit simplifies by using process_each_pv() and putting the actual pvmove processing into the "single" function. This eliminates both find_pv_by_name() and the vg_read(). The processing code that followed vg_read remains the same.
* Revert "Revert "process_each_pv: remove unnecessary workaround""David Teigland2016-01-181-16/+1
| | | | | | This reverts commit 6d09c8c2c45ea1dea243134b8badc841a87cc979. Try again to remove the workaround.
* lvmlockd: cosemtic improvements to loggingDavid Teigland2016-01-183-25/+29
| | | | | Also pass our name to sanlock so it appears in the sanlock status output.
* lvmlockd: fix lvb validation for conversionDavid Teigland2016-01-181-0/+4
| | | | | | | Make the lvb validation rules for convert match those for unlock (even though it would be very unlikely or impossible for convert to deal with zero lvb.)
* pvchange, pvresize: fix lockd_gl() usageDavid Teigland2016-01-182-4/+10
| | | | | | | | When an orphan PV is changed/resized, the lvmlockd global lock is converted from sh to ex. If the command is changing two orphan PVs, the conversion to ex should be done only once.
* report: add kernel_cache_settings fieldPeter Rajnoha2016-01-184-0/+72
| | | | | | | | | | | | | | | | | | | Existing cache_settings field displays the settings which are saved in metadata. Add new kernel_cache_settings fields to display the settings which are currently used by kernel, including fields for which default values are used. This way users have complete view of the set of cache settings supported (and which they can set) and their values which are used at the moment by kernel. For example: $ lvs -o name,cache_policy,cache_settings,kernel_cache_settings vg LV Cache Policy Cache Settings KCache Settings cached1 mq migration_threshold=1024,write_promote_adjustment=2 migration_threshold=1024,random_threshold=4,sequential_threshold=512,discard_promote_adjustment=1,read_promote_adjustment=4,write_promote_adjustment=2 cached2 smq migration_threshold=1024 migration_threshold=1024 cached3 smq migration_threshold=2048
* post-releaseAlasdair G Kergon2016-01-164-2/+8
|
* pre-releasev2_02_140Alasdair G Kergon2016-01-164-7/+4
|
* lvm2app: fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}Peter Rajnoha2016-01-152-4/+5
| | | | | | | Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}, including internal functions pvseg_is_allocated and vg_is_resizeable which are not yet exposed in lvm2app but make them consistent with the rest.
* lvmlockd: fixes for test modeDavid Teigland2016-01-143-14/+66
| | | | | Get the test mode working (lvmlockd running with no lock manager).
* Revert "lvmcache: skip drop when vg_write lock is not held"David Teigland2016-01-141-1/+1
| | | | | | | | | | | | | | | | This reverts e28e22b9e1e4f7243608aa24ddf43ec63afd1751 The problem that that commit was fixing (pytest failure) no longer appears with the current code, so the commit is not needed. That commit is a problem for pvchange, because it prevents lvmcache from retaining VG metadata even while the global lock is held. pvchange holds the global lock to ensure that VG metadata is kept in lvmcache throughout processing. If the cache is not kept, a PV with zero MDAs will appear first in its actual VG and then appear again in the orphan VG. It wrongly appears a second time in the orphan VG only if the actual VG is dropped from lvmcache.
* report: add kernel_discards report field to display thin pool discard used ↵Peter Rajnoha2016-01-148-0/+90
| | | | | | | | in kernel Thin pool discard mode set in metadata can be different from the one actually used if any device underneath does not support that mode. Add kernel_discard report field to make it possible to see this difference.
* Revert "process_each_pv: remove unnecessary workaround"David Teigland2016-01-141-1/+16
| | | | This reverts commit be1b1f3d8941543bcde2f42e65ed0f22fd07b122.
* lvmanip: fix last commit and drop elseZdenek Kabelac2016-01-141-1/+2
| | | | | In last commit when removing if() branch this 'else' now has to be dropped.
* cleanup: order ac membersZdenek Kabelac2016-01-141-6/+5
|
* cleanup: spacesZdenek Kabelac2016-01-141-23/+23
|
* cleanup: replace log_warnZdenek Kabelac2016-01-141-2/+2
|
* cleanup: explicit prohibition for virtual segsZdenek Kabelac2016-01-141-9/+6
| | | | | | | Internal _alloc_init() is only called from allocate_extents(), which already does prevent usage of virtual segments. So mark as internal error early and do not process it any further.
* cleanup: simplier formulaZdenek Kabelac2016-01-141-14/+7
|
* cleanup: more readable checkZdenek Kabelac2016-01-141-12/+9
|
* snapshot: relocate alloc_snapshot_segZdenek Kabelac2016-01-143-30/+23
| | | | Move alloc_snapshot_seg to snapshot_manip and make it local static.
* segtype: check for activationZdenek Kabelac2016-01-1410-39/+64
| | | | | Before setting static variable with check passed state, detect if we are allowed to talk to driver.
* lvresize: check for poolmetadatasize arg earlierZdenek Kabelac2016-01-142-9/+11
| | | | | Since we check for poolmetadatasize, we need to detect it before actual test.
* lvmanip: add lv_is_snapshotZdenek Kabelac2016-01-143-18/+8
| | | | | | | Add new test for lv_is_snapshot(). Also move few other bitchecks into same place as remaining bit tests. TODO: drop lv_is_merging_origin() and keep using lv_is_merging().
* vgcfgrestore: Retain allocatable PV attribute.Alasdair G Kergon2016-01-144-9/+6
| | | | | | | pvchange -xn was getting lost. All PVs were set to allocatable again after restore. Moved setting ALLOCATABLE_PV outside pv_setup().
* vgchange: fix lockd_gl resultsDavid Teigland2016-01-131-15/+20
| | | | | | | The wrong error value was being checked from lockd_gl() in two cases. Clarify the use of lockd_gl() in the lock-start case.
* lvmlockd: fix exit codeDavid Teigland2016-01-131-1/+1
| | | | libdaemon uses 1 for success
* process_each_pv: remove unnecessary workaroundDavid Teigland2016-01-131-16/+1
| | | | | | | The problem addressed by this workaround no longer seems to exist, so remove it. PVs with no mdas no longer appear in both their actual VG and in the orphan VG.
* lv: fix check for NULL origin_lv in _do_lv_origin_dup, cleanup ↵Peter Rajnoha2016-01-131-8/+7
| | | | _do_lvconvert_lv_dup
* cleanup: rename 'invisible devices' to 'hidden devices'Peter Rajnoha2016-01-131-1/+1
|
* conf: fix 'the volume list' vs 'volume list' and '@*'Peter Rajnoha2016-01-132-12/+12
|
* cleanup: rename 'invisible devices' to 'hidden devices'Peter Rajnoha2016-01-131-1/+1
|
* cleanup: rename 'invisible devices' to 'hidden devices'Peter Rajnoha2016-01-138-19/+19
|
* WHATS_NEW: reports and invisible devicesPeter Rajnoha2016-01-131-1/+2
|
* test: add report-invisible.sh testPeter Rajnoha2016-01-131-0/+39
|
* tests: update tests to deal with invisible devices consistentlyPeter Rajnoha2016-01-135-26/+27
|
* cleanup: cleanup lv.h and put fns into categories for better readabilityPeter Rajnoha2016-01-131-36/+43
|
* conf: update command_profile_template.profile.inPeter Rajnoha2016-01-131-0/+10
|
* conf: regeneratePeter Rajnoha2016-01-131-11/+16
|
* conf: add report/mark_invisible_devicesPeter Rajnoha2016-01-135-8/+15
|
* lv: use brackets for invisible devices when formatting device segmentsPeter Rajnoha2016-01-131-5/+20
| | | | | | | | | Include brackets for the name if the dev is invisible. This change applies to all callers of _format_pvsegs fn: - lvseg_devices (the "lvs -o devices") - lvseg_metadata_devices (the "lvs -o metadata_devices) - lvseg_seg_pe_ranges (the "lvs -o seg_pe_ranges") - lvseg_seg_metadata_le_ranges (the "lvs -o seg_metadata_le_ranges")
* lv: add common lv_pool_lv fn for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-20/+24
| | | | | | | | | invisible devices The common lv_pool_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* lv: add common lv_metadata_lv fn for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-17/+27
| | | | | | | | | invisible devices The common lv_metadata_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* lv: add common lv_data_lv fn for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-17/+24
| | | | | | | | | invisible devices The common lv_data_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* lv: add common lv_mirror_log_lv for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-41/+49
| | | | | | | | | invisible devices The common lv_mirror_log_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* lv: add common lv_origin_lv fn for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-20/+19
| | | | | | | | | invisible devices The common lv_origin_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* lv: add common lv_convert_lv fn for use in report and dup, use brackets for ↵Peter Rajnoha2016-01-133-18/+28
| | | | | | | | | invisible devices The common lv_convert_lv fn avoids code duplication and also the reporting part now uses _lvname_disp and _uuid_disp to display name and uuid respectively, including brackets for the name if the dev is invisible.
* man lvmlockd: mention pvmove restrictionDavid Teigland2016-01-121-3/+4
|
* pvmove: disallow moving PVs under sanlock leasesDavid Teigland2016-01-121-0/+28
| | | | | Fail with an error message if pvmove tries to move PVs under the lvmlock LV.
* report: use proper string reference in _string_disp call for ↵Peter Rajnoha2016-01-121-1/+1
| | | | _cache_policy_disp fn