summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* WIP: base: adapt Makefile to stable branchdev-mcsontos-test-base-makeMarian Csontos2020-01-201-2/+5
|
* WIP: base: Get Makefile from masterMarian Csontos2020-01-201-0/+40
|
* [radix-tree] Add missing test caseJoe Thornber2020-01-161-0/+1669
|
* [bcache] bcache_invalidate_fd, only remove prefixes on success.2020-01-16-back-port-bcache-changesJoe Thornber2020-01-161-1/+4
|
* [bcache] reverse earlier patch.Joe Thornber2020-01-161-5/+2
| | | | It broke some unit tests, for v. little benefit
* [bcache] pass up the error from io_submit rather than using generic -EIOJoe Thornber2020-01-161-2/+5
| | | | Author: Heming Zhao
* [bcache] add unit testJoe Thornber2020-01-161-0/+24
| | | | abort-forces-read
* [label] Use bcache_abort_fd() to ensure blocks are no longer in the cache.Joe Thornber2020-01-161-11/+31
| | | | | | | The return value from bcache_invalidate_fd() was not being checked. So I've introduced a little function, _invalidate_fd() that always calls bcache_abort_fd() if the write fails.
* [bcache] add bcache_abort()Joe Thornber2020-01-163-1/+106
| | | | This gives us a way to cope with write failures.
* [bcache] Bring bcache into sync with master branchJoe Thornber2020-01-165-220/+143
|
* [radix-tree] Bring radix-tree up to date with the master branchJoe Thornber2020-01-167-859/+1980
|
* WHATS_NEW: updateZdenek Kabelac2020-01-131-0/+2
|
* vdo: avoid running initialization of cache pool varsZdenek Kabelac2020-01-131-7/+9
| | | | | | | | Since VDO is also pool, the old if() case missed to know about this, and executed unnecesserily initialization of cache pool variables. This was usually harmless when using 'smaller' sizes of VDO pools, but for big VDO pool size, we were reporting senseless messages about big cache chunk sizes.
* raid: disallow reshape of stacked LVsZdenek Kabelac2020-01-131-0/+6
| | | | | | Until we resolve reshape for 'stacked' devices, we need to disable it. So users can no longer reshape i.e. thin-pool data volumes, causing ATM bad thin-pool problems.
* lvcreate: ensure striped raid region size is at least stripe sizeHeinz Mauelshagen2019-11-262-0/+8
| | | | | | | | | | | | | The kernel MD runtime requires region size to be larger than stripe size on striped raid layouts, thus the dm-raid target's constructor rejects such request. This causes e.g. an 'lvcreate --type raid10 -i3 -I4096 -R2048 -n lv vg' to fail. Avoid failing late in the kernel by enforcing region size to be larger or equal to stripe size. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1698225
* test: Fix handling leftovers from previous testsMarian Csontos2019-11-201-1/+1
| | | | | | | teardown fails current PREFIX is prefix of previously failed test with leftovers in dmtable. (cherry picked from commit 1e669ab315c32aba3f47c37771f26ab7c8e151dd)
* WHATS_NEW: updateMarian Csontos2019-11-202-0/+3
|
* build: autoconfMarian Csontos2019-11-201-2/+2
|
* fix dev_unset_last_byte after write errorHeming Zhao2019-11-133-8/+4
| | | | | | | | | | | | | | | | | | | ev_unset_last_byte() must be called while the fd is still valid. After a write error, dev_unset_last_byte() must be called before closing the dev and resetting the fd. In the write error path, dev_unset_last_byte() was being called after label_scan_invalidate() which meant that it would not unset the last_byte values. After a write error, dev_unset_last_byte() is now called in dev_write_bytes() before label_scan_invalidate(), instead of by the caller of dev_write_bytes(). In the common case of a successful write, the sequence is still: dev_set_last_byte(); dev_write_bytes(); dev_unset_last_byte(); Signed-off-by: Zhao Heming <heming.zhao@suse.com>
* tests: fix else pathZdenek Kabelac2019-11-111-0/+3
| | | | Code when raid is present has some 'extra' effect that can't be skipped.
* WHATS_NEW: updateZdenek Kabelac2019-11-111-0/+1
|
* tests: add test of resize of different segtypesZdenek Kabelac2019-11-111-1/+12
|
* lvextend: fix resizing volumes of different segtypeZdenek Kabelac2019-11-111-0/+2
| | | | | | | | | | | | | | | | | | When resizing 2 volumes like thin-pool and it's metadata and they would be of a different type - command would be actually expecting both LVs being of a same segtype - and would throw an error in case they are different. This patch fixes is by setting a new segtype from last segment of 2nd. extented device. Also it fixes the possible 'percentage' extension setup that might have been used for 'primary' volume - while the 'secondary' LV always goes with direct size - as we do not support 'percentage' setup for them This affects maily usage of thin-pool where the extension of thin-pool data size may also lead to extension of metadata size.
* tests: add extra settleZdenek Kabelac2019-11-081-0/+4
| | | | | To avoid removing, while 'add' might not have been processed yet. (when emulating reboot in pvmove-restart)
* tests: skip unneeded status checkZdenek Kabelac2019-11-081-6/+5
| | | | If 'remove' was succesful - we can break loop immediatelly.
* daemons: check for non-zero thread_idZdenek Kabelac2019-11-081-1/+2
| | | | Do not call pthread_join if thread_id would be 0.
* daemon: better error path handling for shutdownZdenek Kabelac2019-11-081-8/+17
| | | | | Report errors for open in better order. Ensure descriptors are not leaked.
* lvmcache: free resource on error pathZdenek Kabelac2019-11-081-1/+3
| | | | | | Free allocated svg on error path. Also explicitely ignore dm_strncpy() result. (We know it will end with failure here.)
* cov: ensure read_ahead is availableZdenek Kabelac2019-11-081-1/+1
| | | | Make sure read_ahead pointer is not NULL when quering for RA.
* cov: missing checks of syscallsZdenek Kabelac2019-11-083-8/+14
| | | | Check for sigaction,sigprocmask,pthread_sigmask errors
* gcc: avoid declartion shadowingZdenek Kabelac2019-11-081-3/+3
| | | | dev_name is global in device.h
* man: adjust 'disks' to 'devices' as used throughoutHeinz Mauelshagen2019-11-071-4/+4
|
* tests: be happy with less then 90 percentZdenek Kabelac2019-11-011-1/+4
| | | | | | Thin metadata evolve between kernel version, so it's not always precisely predictible its usage - so let's met test happy, when it gets bellow 90%.
* tests: larger are needs to be disabledZdenek Kabelac2019-11-011-1/+1
| | | | | | Since we 'disable' lvmetad via --repair of 'raid' if such target is not present, we simply skip all tests expecting disabled lvmetad.
* tests: skip test if scsi_debug is not availableZdenek Kabelac2019-11-011-1/+1
|
* tests: needs some raidZdenek Kabelac2019-11-011-1/+3
| | | | | Add explicit check for at least 'some' raid being present. Slowdown 'delay' more.
* tests: conversion only of exclusive lvZdenek Kabelac2019-11-011-1/+1
| | | | We can 'cache' only exclusively active LV in cluster.
* tests: avoid checking command result in clusterZdenek Kabelac2019-11-011-4/+10
| | | | | | | | | | | | When running cluster test with clvmd, the actual 'monitoring' happens in cluster - so the 'already monitored' message is also logged within clvmd code and the command cannot see such effect. clvmd was incapable to report this information back to command so it cannot be displayed this way. Add 'lvs -o+seg_monitor' validation which also works in clustered mode.
* WHATS_NEW: updateZdenek Kabelac2019-10-311-0/+1
|
* tests: reduce space requirementsZdenek Kabelac2019-10-314-16/+4
| | | | Test well runs on smaller test machines.
* raid: drop internal errorZdenek Kabelac2019-10-311-13/+10
| | | | Fix some internal error reports and debug trace returns
* manip: optimize lvs_using_lvZdenek Kabelac2019-10-311-25/+8
| | | | | | | Instead of checking all LVs in a VG - do just a direct copy of LVs from the existing list ->segs_using_thin_lv. TODO: maybe it could be better to expose seg_list to /tools...
* mirror: remove unused codeZdenek Kabelac2019-10-311-157/+0
|
* mirror: directly activate updated mirrorZdenek Kabelac2019-10-311-1/+1
|
* mirror: fix leg splittingZdenek Kabelac2019-10-314-25/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhance lv_info with lv_info_with_name_check. This 'variant' not only check existance if UUID in DM table but also compares its DM name whether it's matching expected LV name. Otherwise activation may 'skip' activation with rename in case the DM UUID already exists, just device is different name. This change make fairly easier manipulation with i.e. detached mirror leg which ATM is using same UUID - just the LV name have been changed. Used code was not able to run 'activation' (and do a rename) and just skipped the call. So the code used to do a workaround and 'tried' to deactivate such LV firts - this however work only in non-clvmd case, as cluster was not having the lock for deactivated LV. With this extended lv_info code will run 'activation' and will synchronize the name to match expected LV name. Patch extends _lv_info() with new paramter 'with_name_check', which is later translated into 'name_check' argument for _info_run() which in case of name mismatch evaluates the check as if device does not exists. Such call is only used in one place _lv_activate() which then let activation run. All other invocation of _info() calls are left intact. TODO: fix mirror table manipulation (and raid)....
* tests: needs exclusive activation for conversionZdenek Kabelac2019-10-301-2/+2
| | | | | For online convertion LVs must be activated localy exclusive as cache can only work for exclusive activation.
* WHATS_NEWZdenek Kabelac2019-10-261-0/+1
|
* tests: explicit testing of thin snapshotZdenek Kabelac2019-10-261-0/+49
| | | | Check merging of old snapshot of thin LV.
* snapshot: use single merging sequenceZdenek Kabelac2019-10-261-18/+1
| | | | | | | | | | | | | | The resume of 'released' 'COW' should preceed the resume of origin. The fact we need to do the sequence differently for merge was cause by bugs fixed in 2 previous commits - so we no longer need to recognize 'merging' and we should always go with single sequence. The importance of this order is - to properly remove '-real' device from origin LV. When COW is activated as 2nd. '-real' device is kept in table as it cannot be removed during 1st. resume of origin, and later activation of COW LV no longer builds tree associated with origin LV.
* snapshot: fix checking of merged thin volumeZdenek Kabelac2019-10-261-1/+2
| | | | | When merging of thin snapshot is taking place, the origin target will be of thin type.