mbox series

[v5,0/2] Mdmonitor refactor and udev event handling improvements

Message ID 20231121005824.3951-1-kinga.tanska@intel.com (mailing list archive)
Headers show
Series Mdmonitor refactor and udev event handling improvements | expand

Message

Kinga Tanska Nov. 21, 2023, 12:58 a.m. UTC
Along the way we observed many problems with current approach to event handling in mdmonitor.
It frequently doesn't report Fail and DeviceDisappeared events.
It's due to time races with udev, and too long delay in some cases.
While there was a patch intending to address time races with udev, it didn't remove them completely.
This patch series presents alternative approach, where mdmonitor wakes up on udev events, so that
there should be no more conflicts with udev we saw before.

Additionally some code quality improvements were done, to make the code more maintainable.

v2:
Fixed mismatched comment style and rebased onto master.

v3:
Resend to cleanup on patchwork.

v4:
Fix building errors. Only two last patches out of 8 didn't apply, so I'm sending just them.

v5:
Patches didn't apply. Send updated version.

Mateusz Grzonka (2):
  Mdmonitor: Improve udev event handling
  udev: Move udev_block() and udev_unblock() into udev.c

 Create.c  |   1 +
 Makefile  |  18 ++---
 Manage.c  |   3 +-
 Monitor.c | 137 ++++++++++++++------------------------
 lib.c     |  42 ------------
 mdadm.h   |   3 +-
 mdopen.c  |  19 +++---
 udev.c    | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 udev.h    |  40 +++++++++++
 9 files changed, 307 insertions(+), 150 deletions(-)
 create mode 100644 udev.c
 create mode 100644 udev.h

Comments

Jes Sorensen Nov. 21, 2023, 4:12 p.m. UTC | #1
On 11/20/23 19:58, Kinga Tanska wrote:
> Along the way we observed many problems with current approach to event handling in mdmonitor.
> It frequently doesn't report Fail and DeviceDisappeared events.
> It's due to time races with udev, and too long delay in some cases.
> While there was a patch intending to address time races with udev, it didn't remove them completely.
> This patch series presents alternative approach, where mdmonitor wakes up on udev events, so that
> there should be no more conflicts with udev we saw before.
> 
> Additionally some code quality improvements were done, to make the code more maintainable.
> 
> v2:
> Fixed mismatched comment style and rebased onto master.
> 
> v3:
> Resend to cleanup on patchwork.
> 
> v4:
> Fix building errors. Only two last patches out of 8 didn't apply, so I'm sending just them.
> 
> v5:
> Patches didn't apply. Send updated version.
> 
> Mateusz Grzonka (2):
>   Mdmonitor: Improve udev event handling
>   udev: Move udev_block() and udev_unblock() into udev.c

Applied!

Thanks,
Jes


>  Create.c  |   1 +
>  Makefile  |  18 ++---
>  Manage.c  |   3 +-
>  Monitor.c | 137 ++++++++++++++------------------------
>  lib.c     |  42 ------------
>  mdadm.h   |   3 +-
>  mdopen.c  |  19 +++---
>  udev.c    | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  udev.h    |  40 +++++++++++
>  9 files changed, 307 insertions(+), 150 deletions(-)
>  create mode 100644 udev.c
>  create mode 100644 udev.h
>