summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* config: use config_tree_from_string_without_dup_node_check throughout code ↵dev-prajnoha-config-tree-v2Peter Rajnoha2016-09-216-6/+7
| | | | to construct metadata trees
* config: add config_tree_from_string_without_dup_node_check to replace ↵Peter Rajnoha2016-09-213-1/+17
| | | | dm_config_from_string where needed
* config: parse config tree without dup node checking if it's metadata treePeter Rajnoha2016-09-214-8/+13
|
* libdm: add dm_config_parse_without_dup_node_checkPeter Rajnoha2016-09-213-16/+33
|
* dmsetup: ensure --filemap histogram bounds are freedBryn M. Reeves2016-09-211-5/+10
| | | | | | Make sure that the temporary dm_histogram used for the bounds argument is freed in the case that the user provided a --bounds argument on the command line.
* lvconvert: fix (automatic) raid repair regressionHeinz Mauelshagen2016-09-216-39/+134
| | | | | | | | | | | | | | | | | | | | | | | The dm-raid target now rejects device rebuild requests during ongoing resynchronization thus causing 'lvconvert --repair ...' to fail with a kernel error message. This regresses with respect to failing automatic repair via the dmeventd RAID plugin in case raid_fault_policy="allocate" is configured in lvm.conf as well. Previously allowing such repair request required cancelling the resynchronization of any still accessible DataLVs, hence reasoning potential data loss. Patch allows the resynchronization of still accessible DataLVs to finish up by rejecting any 'lvconvert --repair ...'. It enhances the dmeventd RAID plugin to be able to automatically repair by postponing the repair after synchronization ended. More tests are added to lvconvert-rebuild-raid.sh to cover single and multiple DataLV failure cases for the different RAID levels. - resolves: rhbz1371717
* tests: correcting kernel version testZdenek Kabelac2016-09-201-1/+1
| | | | Debug force leaked in.
* tests: show some more device infoZdenek Kabelac2016-09-201-1/+6
| | | | When passdown is not there, look for possible reason.
* tests: read messages instead of syslogZdenek Kabelac2016-09-201-21/+19
| | | | | | Since on those older system there is rather 'fight' over syslog reading buffer - lets read output from /var/log/messages intead.
* tests: kernel message for <3.5 kernelsZdenek Kabelac2016-09-202-7/+31
| | | | | Since /dev/kmsg is useless on kernel <3.5 user there automatically syslog to obtain traces from kernel log buffer during test.
* cache: restore reported origin fieldZdenek Kabelac2016-09-203-2/+4
| | | | | | | Commit 199697accff0658a11420e263c1f85fb74cd39d3 rerouted funtion for priting cache volume origin to lvm2app app function - which however had a bug. So restore the original functionality and print correct LV as cache origin LV.
* snapshots: Fix monitoring to use cow not internal LV.Alasdair G Kergon2016-09-202-3/+5
|
* lvmdbusd: Assign percentage on setTony Asleson2016-09-191-2/+1
|
* lvmdbustest: Remove pyudev deprecated warningsTony Asleson2016-09-191-2/+2
|
* lvmdbusd: Correct importsTony Asleson2016-09-193-2/+2
| | | | Place the imports in the files where they are directly needed.
* lvmdbustest: ws fix-upsTony Asleson2016-09-191-9/+12
|
* lvmdbusd: Fix dbus object with only properties and no methodTony Asleson2016-09-192-14/+17
| | | | | | | | | | | Gris debugged that when we don't have a method the introspection data is missing the interface itself eg. <interface name="<your_obj_iface_name>" /> When adding the properties to the dbus object introspection we will add the interface too if it's missing. This now allows us the ability to have a dbus object with only properties.
* lvmdbustest.py: Test with/without timeout valuesTony Asleson2016-09-191-153/+267
| | | | | | | | | | | | Because of the different code paths we need to test job handling with all operations. Test now runs virtually everything with timeout == 0 and timeout == 15 so that we test both use cases. Note: If a client passes -1 for the timeout value they need to make sure that their connection time out is also infinite. Otherwise, if the client times out the service side hangs any new dbus calls until the job that is in progress completes. Not sure why this behavior is occuring at this time, but it appears a limitation/bug of the dbus-python library.
* lvmdbusd: Set value to non none on errorTony Asleson2016-09-191-1/+1
| | | | | | When we register a failure we need to use a valid value which will be returned with the object manager. Otherwise we will raise an Exception because we are trying to construct an object path from None.
* lvmdbustest.py: Make methods staticTony Asleson2016-09-191-6/+9
| | | | Changed methods to be static that should be.
* lvmdbusd: Vg.LvCreate* methods, correct return typeTony Asleson2016-09-192-1/+12
| | | | | | | | The methods were returning an instance of the object instead of the object path which was causing an exception when the result was returned with the job object as we are explicity trying to return an object path. Unit test added which re-creates the issue and verifies the fix.
* debug: cleanup backtrace after log_errorZdenek Kabelac2016-09-191-1/+1
|
* debug: mention origin_only in messageZdenek Kabelac2016-09-191-2/+2
|
* tests: enhance lvchange of thin pool testsZdenek Kabelac2016-09-191-1/+49
| | | | | Validate also content of dmtable. Check operations with unused thin-pool as well.
* tests: check for metadata test working properlyZdenek Kabelac2016-09-191-4/+64
| | | | | Add more tests to check they guard minimum free space in metadata for new thin volume creation.
* tests: add check grep_dmsetupZdenek Kabelac2016-09-191-0/+5
| | | | | | | | Add simple helper/wrapper check function to check result of dmsetup call i.e.: check grep_dmsetup table vg-lv "grep_expected" check grep_dmsetup status vg-lv -v "grep_unexpected"
* thin: fix lvchange of discards and zero flagZdenek Kabelac2016-09-192-1/+2
| | | | | | Reload of thin-pool origin_only is designed to only post messages to a thin-pool. It's not intended to be used for reload of thin-pool table. Fix it by using standard call 'lv_update_and_reload()'.
* thin: enforce there is some free space in thin pool metadataZdenek Kabelac2016-09-195-2/+43
| | | | | | | | | Unconditionally guard there is at least 1/4 of metadata volume free (<16Mib) or 4MiB - whichever value is smaller. In case there is not enough free space do not let operation proceed and recommend thin-pool metadata resize (in case user has not enabled autoresize, manual 'lvextend --poolmetadatasize' is needed).
* thin: report pool as holder when no active thin volumeZdenek Kabelac2016-09-192-1/+4
| | | | | | | In the case there is no active thin volume, report thin pool as lock holder. This fixed function like lvextend which either expecte lock holder LV is some active thin or 'possibly' inactive thin pool.
* libdm: fix end-of-groups test in _stats_walk_end()Bryn M. Reeves2016-09-161-1/+1
|
* alloc: Use --alloc normal for mirror logs.Alasdair G Kergon2016-09-162-0/+10
| | | | | | | | | | | The existing code doesn't understand that mirror logs should cling to parallel LVs (like extending them) instead of avoiding them. As a quick workaround to avoid lvcreate failures, hard-code --alloc normal for mirror logs even if the rest of the allocation used a stricter policy. https://bugzilla.redhat.com/show_bug.cgi?id=1376532
* lvmdump: Use O_DIRECT to gather metadata.Alasdair G Kergon2016-09-154-2/+14
|
* lvmlockd: fix metadata validation when rescanning VGDavid Teigland2016-09-141-1/+30
| | | | | | | | | | | | | | When rescanning a VG from disk, the metadata read from each PV was compared as a sanity check. The comparison is done by exporting the vg metadata from each dev to a config tree, and then comparing the config trees. The function to create the config tree inserts extraneous information along with the actual VG metadata. This extra info includes creation_time. The config trees for two devs can easily be created one second apart in which case the different creation_times would cause the metadata comparison to fail. The fix is to exclude the extraneous info from the metadata comparison.
* tests: Revert "tests: not redirect strderr to stdout"Zdenek Kabelac2016-09-131-5/+2
| | | | | | | This reverts commit 5314d36f3d186efb05a051e80444332f743194ef. Ok - some tests do look for 'stderr' output of 'not' commands. So let's keep existing functionality.
* tests: slightly bigger raid arraysZdenek Kabelac2016-09-131-8/+7
| | | | Just to ensure we catch devices in sync.
* tests: more permissive on test percent valueZdenek Kabelac2016-09-131-4/+5
| | | | | Just check there is some output. Values may slightly differ per policy target version.
* tests: use just single raid_leg_statusZdenek Kabelac2016-09-134-39/+35
| | | | Simplify 'check' test actualy and correct printed tracing output
* tests: not redirect strderr to stdoutZdenek Kabelac2016-09-131-2/+5
| | | | Errors are 'wanted' and expected in this case.
* libdm: cleaner debug messageZdenek Kabelac2016-09-131-1/+1
|
* rpm: install lvmreport.7Zdenek Kabelac2016-09-121-0/+1
|
* tests: slow down disks moreZdenek Kabelac2016-09-121-1/+1
|
* tests: add check function for raid leg statusZdenek Kabelac2016-09-125-43/+49
| | | | | | | 2 new check test functions: raid_leg_status - to just compare raid_leg_status_is - to compare and die when different
* tests: use exclusive activationZdenek Kabelac2016-09-121-2/+2
| | | | | Slightly better for clvmd - thought test is still crashing as table is broken.
* tests: move cache test to separate fileZdenek Kabelac2016-09-122-11/+43
| | | | Don't mix plain raid test with 'raid+cache' test.
* activation: dso always defined for monitoring queryZdenek Kabelac2016-09-122-2/+3
| | | | | Ensure 'dso' has always a defined (NULL) value, and also ensure NULL 'dso' is not dereferenced.
* man: add lvmreport man pagePeter Rajnoha2016-09-123-1/+1812
|
* man: Only install lvmraid when needed.Alasdair G Kergon2016-09-122-3/+9
|
* cache: fixed copy&paste from last commitZdenek Kabelac2016-09-091-1/+1
|
* rpm: build with raid man pageZdenek Kabelac2016-09-091-0/+1
|
* tests: rename test _ -> -Zdenek Kabelac2016-09-091-0/+0
| | | | Change '_' in the test name.