On Wed, 22 Jun 2022 14:25:11 -0600 Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > The commit noted below globally adds a parameter to the -r option but missed > the fact that -r is used for another purpose: --remove. > > After that commit, a command such as: > > mdadm /dev/md0 -r /dev/loop0 > > will do nothing seeing the device parameter will be consumed as a > argument to the -r option; thus, there will only be one device > seen one the command line, devs_found will only be 1 and nothing will > happen. > > This caused the 01r5integ and 01raid6integ tests to hang indefinitely > as mdadm did not remove the failed device. With the device not removed, > it would not be readded. Then the loop waiting for the array status to > change would loop forever. > > This commit was recently reverted, but the legitimate fix for the > monitor operations was still not fixed. So add specific monitor > short ops to re-fix the --monitor -r option. > > Fixes: 546047688e1c ("mdadm: fix coredump of mdadm --monitor -r") > Fixes: 190dc029b141 ("Revert "mdadm: fix coredump of mdadm --monitor -r"") > Cc: Wu Guanghao <wuguanghao3@xxxxxxxxxx> > Cc: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx> > Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx>