Comment 2 for bug 1758282

Revision history for this message
Pawel Baldysiak (pbaldysi) wrote :

Mdadm is running it's additional instance for reshape purposes.
It might do it in two ways:
running systemd service file (mdadm-grow-continue service), or by forking.
The second one is used as fallback method, executed if first one fails.

Mdadm will run this within "mdadm --incremental" run from udev rules what assembles the volume under reshape.

In ubuntu MD raids are assemble in initramfs and there is no unit file for grow-continue there.
So systemd/udev will run mdadm --incremental that will fork into manage reshape.
Also, there is a mechanism in systemd that kills udev events after some sort of timeout (it treats them as hung tasks).
As a result, the helper for managing reshape is killed, and reshape progress is stuck.

As a patch I propose to add some sort of flag to initramfs, so it will skip assembling the arrays in init before switchroot. It should solve the issue (at least for array w/o OS installed on them - they have to be assembled in init).

Thanks
Pawel