[PATCH v1 0/7] Minor Raid5 Fixes and Cleanup

Logan Gunthorpe posted 7 patches 4 years, 2 months ago
drivers/md/raid5-ppl.c |  13 ++-
drivers/md/raid5.c     | 179 ++++++++++++++++++++++++++---------------
drivers/md/raid5.h     |  23 +++---
3 files changed, 139 insertions(+), 76 deletions(-)
[PATCH v1 0/7] Minor Raid5 Fixes and Cleanup
Posted by Logan Gunthorpe 4 years, 2 months ago
Hi,

This series contains a few cleanup and minor fixes to the raid5 code
to make it a bit easier to hack on.

Patch 1 cleans up the error returns in setup_conf() (I had an
abandonded patch that added another error out and needed this clean
more sensible).

Patch 2 fixes a sparse warning with the raid5_percpu structure.

Patch 3 through 6 fixes sparse warnings related to missing __rcu
annotations when using the RCU calls.

Patch 7 just adds some basic __must_hold annotations for the device_lock
to any function that is called while holding the lock. Sparse doesn't
really check this, but the annotation makes the locks a little easier
to analyze.

Thanks,

Logan

--

Logan Gunthorpe (7):
  md/raid5: Cleanup setup_conf() error returns
  md/raid5: Un-nest struct raid5_percpu definition
  md/raid5: Add __rcu annotation to struct disk_info
  md/raid5: Annotate rdev/replacement accesses when nr_pending is
    elevated
  md/raid5: Annotate rdev/replacement access when mddev_lock is held
  md/raid5-ppl: Annotate with rcu_dereference_protected()
  md/raid5: Annotate functions that hold device_lock with __must_hold

 drivers/md/raid5-ppl.c |  13 ++-
 drivers/md/raid5.c     | 179 ++++++++++++++++++++++++++---------------
 drivers/md/raid5.h     |  23 +++---
 3 files changed, 139 insertions(+), 76 deletions(-)


base-commit: 3123109284176b1532874591f7c81f3837bbdc17
--
2.30.2
Re: [PATCH v1 0/7] Minor Raid5 Fixes and Cleanup
Posted by Song Liu 4 years, 2 months ago
On Thu, Apr 7, 2022 at 9:57 AM Logan Gunthorpe <logang@deltatee.com> wrote:
>
> Hi,
>
> This series contains a few cleanup and minor fixes to the raid5 code
> to make it a bit easier to hack on.
>
> Patch 1 cleans up the error returns in setup_conf() (I had an
> abandonded patch that added another error out and needed this clean
> more sensible).
>
> Patch 2 fixes a sparse warning with the raid5_percpu structure.
>
> Patch 3 through 6 fixes sparse warnings related to missing __rcu
> annotations when using the RCU calls.
>
> Patch 7 just adds some basic __must_hold annotations for the device_lock
> to any function that is called while holding the lock. Sparse doesn't
> really check this, but the annotation makes the locks a little easier
> to analyze.
>
> Thanks,
>
> Logan

Applied to md-next. Thanks!

>
> --
>
> Logan Gunthorpe (7):
>   md/raid5: Cleanup setup_conf() error returns
>   md/raid5: Un-nest struct raid5_percpu definition
>   md/raid5: Add __rcu annotation to struct disk_info
>   md/raid5: Annotate rdev/replacement accesses when nr_pending is
>     elevated
>   md/raid5: Annotate rdev/replacement access when mddev_lock is held
>   md/raid5-ppl: Annotate with rcu_dereference_protected()
>   md/raid5: Annotate functions that hold device_lock with __must_hold
>
>  drivers/md/raid5-ppl.c |  13 ++-
>  drivers/md/raid5.c     | 179 ++++++++++++++++++++++++++---------------
>  drivers/md/raid5.h     |  23 +++---
>  3 files changed, 139 insertions(+), 76 deletions(-)
>
>
> base-commit: 3123109284176b1532874591f7c81f3837bbdc17
> --
> 2.30.2