Skip to content

Conversation

kpd-daemon[bot]
Copy link

@kpd-daemon kpd-daemon bot commented Sep 18, 2025

Pull request for series with
subject: md raid: fix hang when stopping arrays with metadata through dm-raid
version: 1
url: https://patchwork.kernel.org/project/linux-raid/list/?series=1003842

When using device-mapper's dm-raid target, stopping a RAID array can cause the
system to hang under specific conditions.

This occurs when:

-  A dm-raid managed device tree is suspended from top to bottom
   (the top-level RAID device is suspended first, followed by its
    underlying metadata and data devices)

-  The top-level RAID device is then removed

The hang happens because removing the top-level device triggers md_stop() from the
dm-raid destructor.  This function attempts to flush the write-intent bitmap, which
requires writing bitmap superblocks to the metadata sub-devices.  However, since
these metadata devices are already suspended, the write operations cannot complete,
causing the system to hang.

Fix:

-  Prevent bitmap flushing when md_stop() is called from dm-raid contexts
   and avoid a quiescing/unquescing cycle which could also cause I/O

-  Avoid any I/O operations that might occur during the quiesce/unquiesce process in md_stop()

This ensures that RAID array teardown can complete successfully even when the
underlying devices are in a suspended state.

Signed-off-by: Heinz Mauelshagen <[email protected]>
@kpd-daemon
Copy link
Author

kpd-daemon bot commented Sep 18, 2025

Upstream branch: c17fb54
series: https://patchwork.kernel.org/project/linux-raid/list/?series=1003842
version: 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant