| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Daniel Baumann <daniel@debian.org>
|
|
|
|
|
|
|
| |
Refactor continue_via_systemd() and it's calls to make it more readable.
No functional changes.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
mdadm --grow --continue has no functionality to restore critical sectors
if reshape was stopped during operation. This functionality belongs to
assemble or incremental.
This patch adds hints to error messages, to try to reassemble array in
case of reshape failure to restore critical sector, so assemble can
handle restoration.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are numerous issues for --grow --continue in switchroot phrase,
they include:
* Events being missed for restarting grow-continue service. This is
apparent mostly on OS on RAID scenarios. When a checkpoint (next step)
is committed, we have no reliable way to gracefully stop reshape until
it reaches that checkpoint. During boot, there's heavy I/O utilisation,
which causes sync speed drop, and naturally checkpoint takes longer to
reach. This further causes systemd to forcefully kill grow-continue
service due to timeouts, which results in udev event being missed for
grow-continue service restart.
* Grow-continue (seemingly) was not designed to be restarted without
reassembly, some things like stopping chunksize (to lower) migration
were straight up not working until recently.
This patch makes grow-continue (actual reshape) start after switchroot
phrase. This way we should not encounter issues related to restarting
the service.
Add checks not start a reshape if in initrd, let it initialise only.
Change grow-continue udev rule to be triggered whenever there's a
reshape happening in metadata, rely on udev event to kick reshape after
switchroot. Add handle_forking helper function for reshapes to avoid
duplicating code.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Display if there's an ongoing reshape happening in mdadm --detail
--export output.
This change is needed for incoming patches that will change "grow
continue" udev rules, to be based on actual array state.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes --freeze-reshape logic, it basicaly reverts
commit b76b30e0f950 ("Do not continue reshape during initrd phase").
--freeze-reshape was supposed to be used to restore critical sector in
incremental and assemble operations without starting a reshape process,
but it's meaning has been lost through the years and it is not
currently used.
A replacement for this logic will be added in incoming patches, so
reshapes won't be started in initrd phrase.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
| |
Remove external bitmap support from manual.
Signed-off-by: Mariusz Tkaczyk <mtkaczyk@kernel.org>
|
|
|
|
|
|
|
| |
Create a maintainers file to keep track of people
to contact when dealing with mdadm questions/issues.
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
|
|
|
|
|
|
| |
In mdadm, we have more flexible apporach to typedefs.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
| |
Incremental_remove() does not execute Manage_subdevs() now.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
| |
Add dedicated enum to reflect possible values for mentioned file.
Not all values are mapped. Add map to present sysfs keywords.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
| |
Keep it documented in code.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
| |
Handle variable going out of scope leaks the handle.
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
|
|
|
|
| |
Signed-off-by: Mariusz Tkaczyk <mtkaczyk@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The issue here is that some of the tests sporadically fail due to things
being still processed. Default 1s delays proven not to be sufficient for
newly created CI, as tests tend to ocassionally fail.
This patch increases default 1s sleep to 2s, to hopefully get rid of
sporadical fails.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
This commit increases sleep times from 4 seconds to 6 as some of the
tests seem to be randomly failing due to this.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
| |
Increase sleep to 2s to give driver more time to stop recovery.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
| |
Add one second sleep before calling check() for array to process.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
| |
Block device check in testdev() is not sufficient as it does not account
for symlinks. Fix the check to use lsblk instead. Add mdstat check for
better debugging TC and change md0 for md127 as that will be array name
after assembly.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
Change graceful exit to skip to indicate the test cannot be run.
Add some sleep after creation, let's see if that's enough.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Test 07changelevels can fail in multiple ways:
- R5 -> R6 migration can make driver unresponsive
- R6 -> R5 migration can fail
Mark the test as broken to clear the CI.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
Remove redundant backup file creation so mdadm does not complain it
already exists.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
| |
Remove redundant new-line character from "echo" call in save_log().
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
For test 07testreshape5 to succeed test_stripe binary must be first
compiled. Add check to skip test if no binary.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
Refactor imsm_check_removal() to give mdadm a chance to remove the
device, add retries.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
There are two issues with 10ddf-create:
- get_rootdev() failed if test was run in VM. Simplify and refactor the
function.
- tests fails at assemble due to segfault. Mark test as broken to clear
the CI.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
Skip tests if fault injection is not enabled.
Remove 24raid10deadlock.inject_error empty file.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
| |
As for now the test either fails or succeeds. Add third option: skip.
This is to be used for tests that might not be possible to execute for
example due to missing (software) components or kernel not being
compiled with debugging options.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes tests 25raid246 so CI can pass.
Details:
- Change array size to 10M.
- Change filesystem from xfc to ext4 (more distros should have toolset
out of the box).
- Mark 25raid456-reshape-while-recovery as broken. It's too much effort
to fix it for now.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Because it's marked deprecated for a long time now, and it's not worthy
to support it for new bitmap.
Now that we don't need to store filename for bitmap, also declare a new
enum type bitmap_type to simplify code.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Instead of auto-forcing bitmap only for large arrays, it is more
reasonable to let user do the chooice if bimtap is not set.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
For the build mode or external metadata, re-add is not supported,
because it will not trigger full disk recovery, user should add a new disk
to the array instead.
Also update test/05r1-re-add-nosuper to reflect this.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
| |
Prepare to remove bitmap file support.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
| |
Prepare to remove the bitmap file support.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, if error is returned by test command, execution of other
steps is aborted. In that case, continue-on-error safe artifact but
return error later and fail the job.
If executions passed, there are no artifacts to safe, therefore do not
safe them.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
| |
GH action status should be failed if any test failed.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
| |
To start optymalizing test suite, we need to know which tests are the
most time consuming. Log execution time after every test.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the mentioned patch, the check to verify if IMSM on current
platform supports a use of TPV (other than Intel) disk, was only performed
for non-Intel disks, after it is performed for all. This change causes
inability to use any disk when platform does not support TPV drives,
attempt results in the following error.
mdadm: Platform configuration does not support non-Intel NVMe drives.
Please refer to Intel(R) RSTe/VROC user guide.
This change restores the check if the disk is non-Intel.
Fixes: 734e7db4dfc5 ("imsm: Remove warning and refactor add_to_super_imsm code")
Signed-off-by: Blazej Kucman <blazej.kucman@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Mdadm supports DEVNODE in multiple form, we cannot trust that because it
does not always reflect name in metadata. Tests are defining clear
expectations- we must use them.
Do foreign verification against WANTED_NAME instead of passed DEVNODE.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mdadm -C /dev/md/imsm0 -e imsm -n 2 /dev/nvme5n1 /dev/nvme4n1 -R
mdadm -C /dev/md/r0d2 -l 0 -n 2 /dev/nvme5n1 /dev/nvme4n1 -R
*** buffer overflow detected ***: terminated
Aborted (core dumped)
Issue is related to D_FORTIFY_SOURCE=3 flag and depends on environment,
especially compiler version. In function active_arrays_by_format length of
path buffer is calculated dynamically based on parameters, while PATH_MAX
is used in snprintf, this is my lead to buffer overflow.
It is fixed by change dynamic length calculation, to use define PATH_MAX
for path length.
Signed-off-by: Blazej Kucman <blazej.kucman@intel.com>
|
|
|
|
|
|
| |
Run mdadm tests scope on every change related to test files.
Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Timestamps on debug messages help establish what takes long to process.
Debug messages are print only if DDEBUG flag is passed.
Add timestamps for debug messages. Remove dead code from dprintf dummies
for non-debug builds. Remove timestamps from current debug messages.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
|
|
|
|
|
| |
Use variable to store tests exit status. Return its value when test
script finished.
Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
|
|
|
|
|
|
|
| |
As suggested by Dan, make it sounds more welcomed.
Suggested-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
| |
Use prepared VM machine in GitHub actions to run mdadm tests on it.
Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
|
|
|
|
|
|
|
|
| |
When grow-continue process is ongoing, sync_action indicates that
recovery is in progress. If grow-continue does not finish,
even if sync_action is not "reshape" anymore, the test should fail.
Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
|
|
|
|
|
|
|
|
| |
This test could hang if "check" action is not written to sync_action. If
this value didn't appear, test hanged on infinite while loop. Add 5
second timeout to loop.
Signed-off-by: Kinga Stefaniuk <kinga.stefaniuk@intel.com>
|
|
|
|
|
|
|
|
| |
Add print IMSM license for VMD controllers in --detail-platform.
The license specifies the scope of RAID support in the platform for
the VMD controller.
Signed-off-by: Blazej Kucman <blazej.kucman@intel.com>
|
|
|
|
|
|
| |
It is deprecated and it is not tested now.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
After mentioned patch, this condition get opposite meaning and it
is blocking creation in cases where it was supported.
Remove it now.
Fixes: 119cdcad049e ("mdadm: drop auto= support")
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|