Re: [PATCH mdadm v2 00/14] Bug fixes and testing improvments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jes,

> On Jun 22, 2022, at 1:25 PM, Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote:
> 
> Hi,
> 
> This series tries to clean up the testing infrastructure to be a bit
> more reliable. It doesn't fix all the broken tests but annotates those
> that I see as broken so testing can continue. V2 includes changes
> requested in the feedback so far.
> 
> As such, I've fixed all the kernel panics (in md-next now) and segfaults
> that caused testing to halt regardless of whether --keep-going was
> passed. I've also included some patches posted to the list from Sudhakar
> and Himanshu which fix some more broken tests.
> 
> I've also included a patch which adds the --loop option to ./test which
> runs tests for a specified number of iterations (or indefinitely if zero
> is specified). This was very useful for ferreting out tests that failed
> randomly.
> 
> The last two patches adds some infrastructure and annotation for known
> broken tests so that they don't stop the processing (even if
> --keep-going is not passed). Tests that are known to be broken  can
> optionally be skipped with the --skip-broken or --skip-always-broken
> flags.
> 
> With these changes it's possible to run './test --loop=0' for several
> days without stopping.
> 
> There are still a number of broken tests which need more work, and there
> may be other issues on other people's systems (kernel configurations,
> etc) but that will have to be left to other developers.
> 
> The tests that are still broken for me in one way or another are:
>  01r5integ, 01raid6integ, 04r5swap.broken, 04update-metadata,
>  07autoassemble, 07autodetect, 07changelevelintr, 07changelevels,
>  07reshape5intr, 07revert-grow, 07revert-shrink, 07testreshape5,
>  09imsm-assemble, 09imsm-create-fail-rebuild, 09imsm-overlap,
>  10ddf-assemble-missing, 10ddf-fail-create-race,
>  10ddf-fail-two-spares, 10ddf-incremental-wrong-order,
>  14imsm-r1_2d-grow-r1_3d, 14imsm-r1_2d-takeover-r0_2d,
>  18imsm-r10_4d-takeover-r0_2d, 18imsm-r1_2d-takeover-r0_1d,
>  19raid6auto-repair, 19raid6repair.broken
> 
> Details on how they are broken can be found in the last patch.
> 
> This series is based on the current kernel.org master (190dc029) and
> a git repo can be found here:
> 
>  https://github.com/lsgunth/mdadm bugfixes_v2
> 
> 
> Thanks,
> 
> Logan
> 
> --
> 
> Changes since v1:
>  * Rebase onto latest master (190dc029b141c423e), which means
>    reworking patch 6 seeing the original patch was already
>    reverted
>  * Drop mdadm.static from the make target everything-test as well
>    as everything (as pointed out by Mariusz)
>  * Switch to using close_fd() helper in patch 4 (per Mariusz)
>  * Fixed a couple minor typos and whitespace issues from Guoqing
>    and Paul
>  * Collected Acks from Mariusz
> 
> --
> 
> Logan Gunthorpe (10):
>  Makefile: Don't build static build with everything and everything-test
>  DDF: Cleanup validate_geometry_ddf_container()
>  DDF: Fix NULL pointer dereference in validate_geometry_ddf()
>  mdadm/Grow: Fix use after close bug by closing after fork
>  monitor: Avoid segfault when calling NULL get_bad_blocks
>  mdadm: Fix mdadm -r remove option regression
>  mdadm: Fix optional --write-behind parameter
>  mdadm/test: Add a mode to repeat specified tests
>  mdadm/test: Mark and ignore broken test failures
>  tests: Add broken files for all broken tests
> 
> Sudhakar Panneerselvam (4):
>  tests/00raid0: add a test that validates raid0 with layout fails for
>    0.9
>  tests: fix raid0 tests for 0.90 metadata
>  tests/04update-metadata: avoid passing chunk size to raid1
>  tests/02lineargrow: clear the superblock at every iteration
> 
> Grow.c                                     |  4 +-
> Makefile                                   |  4 +-
> ReadMe.c                                   |  1 +
> mdadm.c                                    |  6 +-
> mdadm.h                                    |  1 +
> monitor.c                                  |  3 +
> super-ddf.c                                | 94 ++++++++++------------
> test                                       | 71 +++++++++++++---
> tests/00raid0                              | 10 +--
> tests/00readonly                           |  4 +
> tests/01r5integ.broken                     |  7 ++
> tests/01raid6integ.broken                  |  7 ++
> tests/02lineargrow                         |  2 +
> tests/03r0assem                            |  6 +-
> tests/04r0update                           |  4 +-
> tests/04r5swap.broken                      |  7 ++
> tests/04update-metadata                    |  8 +-
> tests/07autoassemble.broken                |  8 ++
> tests/07autodetect.broken                  |  5 ++
> tests/07changelevelintr.broken             |  9 +++
> tests/07changelevels.broken                |  9 +++
> tests/07reshape5intr.broken                | 45 +++++++++++
> tests/07revert-grow.broken                 | 31 +++++++
> tests/07revert-shrink.broken               |  9 +++
> tests/07testreshape5.broken                | 12 +++
> tests/09imsm-assemble.broken               |  6 ++
> tests/09imsm-create-fail-rebuild.broken    |  5 ++
> tests/09imsm-overlap.broken                |  7 ++
> tests/10ddf-assemble-missing.broken        |  6 ++
> tests/10ddf-fail-create-race.broken        |  7 ++
> tests/10ddf-fail-two-spares.broken         |  5 ++
> tests/10ddf-incremental-wrong-order.broken |  9 +++
> tests/14imsm-r1_2d-grow-r1_3d.broken       |  5 ++
> tests/14imsm-r1_2d-takeover-r0_2d.broken   |  6 ++
> tests/18imsm-r10_4d-takeover-r0_2d.broken  |  5 ++
> tests/18imsm-r1_2d-takeover-r0_1d.broken   |  6 ++
> tests/19raid6auto-repair.broken            |  5 ++
> tests/19raid6repair.broken                 |  5 ++
> 38 files changed, 361 insertions(+), 83 deletions(-)
> create mode 100644 tests/01r5integ.broken
> create mode 100644 tests/01raid6integ.broken
> create mode 100644 tests/04r5swap.broken
> create mode 100644 tests/07autoassemble.broken
> create mode 100644 tests/07autodetect.broken
> create mode 100644 tests/07changelevelintr.broken
> create mode 100644 tests/07changelevels.broken
> create mode 100644 tests/07reshape5intr.broken
> create mode 100644 tests/07revert-grow.broken
> create mode 100644 tests/07revert-shrink.broken
> create mode 100644 tests/07testreshape5.broken
> create mode 100644 tests/09imsm-assemble.broken
> create mode 100644 tests/09imsm-create-fail-rebuild.broken
> create mode 100644 tests/09imsm-overlap.broken
> create mode 100644 tests/10ddf-assemble-missing.broken
> create mode 100644 tests/10ddf-fail-create-race.broken
> create mode 100644 tests/10ddf-fail-two-spares.broken
> create mode 100644 tests/10ddf-incremental-wrong-order.broken
> create mode 100644 tests/14imsm-r1_2d-grow-r1_3d.broken
> create mode 100644 tests/14imsm-r1_2d-takeover-r0_2d.broken
> create mode 100644 tests/18imsm-r10_4d-takeover-r0_2d.broken
> create mode 100644 tests/18imsm-r1_2d-takeover-r0_1d.broken
> create mode 100644 tests/19raid6auto-repair.broken
> create mode 100644 tests/19raid6repair.broken
> 
> 
> base-commit: 190dc029b141c423e724566cbed5d5afbb10b05a
> --
> 2.30.2

I have not seen any updates or review comments on this series. Any plan on merging this series? 

I have been using this test series for my developer testing and this has a very helpful
testing framework update. This update improves baseline testing and predictive failure coverage.
I find it very useful to work on improving the overall test infrastructure. 

You can add my R-B for the series while merging.

Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>

--
Himanshu Madhani	Oracle Linux Engineering





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux