| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fix BZ 1792864
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
teardown fails current PREFIX is prefix of previously failed test with
leftovers in dmtable.
(cherry picked from commit 1e669ab315c32aba3f47c37771f26ab7c8e151dd)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Code when raid is present has some 'extra' effect that can't be skipped.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
To avoid removing, while 'add' might not have been processed yet.
(when emulating reboot in pvmove-restart)
|
|
|
|
| |
If 'remove' was succesful - we can break loop immediatelly.
|
|
|
|
| |
Do not call pthread_join if thread_id would be 0.
|
|
|
|
|
| |
Report errors for open in better order.
Ensure descriptors are not leaked.
|
|
|
|
|
|
| |
Free allocated svg on error path.
Also explicitely ignore dm_strncpy() result.
(We know it will end with failure here.)
|
|
|
|
| |
Make sure read_ahead pointer is not NULL when quering for RA.
|
|
|
|
| |
Check for sigaction,sigprocmask,pthread_sigmask errors
|
|
|
|
| |
dev_name is global in device.h
|
| |
|
|
|
|
|
|
| |
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%.
|
|
|
|
|
|
| |
Since we 'disable' lvmetad via --repair of 'raid'
if such target is not present, we simply skip
all tests expecting disabled lvmetad.
|
| |
|
|
|
|
|
| |
Add explicit check for at least 'some' raid being present.
Slowdown 'delay' more.
|
|
|
|
| |
We can 'cache' only exclusively active LV in cluster.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Test well runs on smaller test machines.
|
|
|
|
| |
Fix some internal error reports and debug trace returns
|
|
|
|
|
|
|
| |
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...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)....
|
|
|
|
|
| |
For online convertion LVs must be activated localy exclusive as
cache can only work for exclusive activation.
|
| |
|
|
|
|
| |
Check merging of old snapshot of thin LV.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When merging of thin snapshot is taking place, the origin target will
be of thin type.
|
|
|
|
|
|
|
|
| |
When checking device id of a thin device that is just being
merged - the snapshot actually could have been already finished
which means '-real' suffix for the LV is already gone and just LV
is there - so check explicitely for this condition and use
correct UUID for this case.
|
|
|
|
|
| |
Since lvconvert validated LV types that can be repaired,
the test was not working properly for longer time...
|
| |
|
|
|
|
|
|
| |
Before pvmove start, it need to decide if exlusive mode of pvmove
must be used - this mode needs to be used if some move LV is
already exclusively activated.
|
| |
|
|
|
|
|
|
| |
to use the old behavior by default, which allows
using mixed block sizes. The user will need to
set it to 0 in lvm.conf to turn on the new restrictions.
|
|
|
|
| |
This reverts commit 4e99308b7cab21fd79d1290a5aa47aee4ee4a76e.
|
|
|
|
|
|
|
| |
This reverts commit c37aa7881d840c429b858ee0068f0151e46ce0d9.
Put back the setting again, but the next commit will just
turn off the new behavior by default.
|
| |
|
|
|
|
|
|
|
| |
This reverts commit a57b92dec396ac79c57e02e54c04e205aa85f084.
This can break existing usage, so it's not suitable for the
stable branch.
|
|
|
|
| |
Fix: 889c88e9dab33195efc4dc0400a4b0aaa3383948
|
|
|
|
|
|
| |
Return need a clean up but it is not bailing out due to an error.
Fix: 402b41f58dc14160ec21937d6308b0d9a1abba7d
|