Zhilong Liu <zlliu@xxxxxxxx> writes: > it would be stuck at the beginning of reshape progress > when grows array from raid1 to raid5, correct the name > of mdadm-grow-continue@.service in continue_via_systemd. > > reproduce steps: > ./mdadm -CR /dev/md0 -l1 -b internal -n2 /dev/loop[0-1] > ./mdadm --grow /dev/md0 -l5 -n3 -a /dev/loop2 > > Signed-off-by: Zhilong Liu <zlliu@xxxxxxxx> > --- > Grow.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/Grow.c b/Grow.c > index 455c5f9..10c02a1 100755 > --- a/Grow.c > +++ b/Grow.c > @@ -2808,13 +2808,11 @@ static int continue_via_systemd(char *devnm) > */ > close(2); > open("/dev/null", O_WRONLY); > - snprintf(pathbuf, sizeof(pathbuf), "mdadm-grow-continue@%s.service", > - devnm); > + snprintf(pathbuf, sizeof(pathbuf), "mdadm-grow-continue@.service"); My memory is rusty here, isn't systemctl interpreting the device name in mdadm-grow-continue@<device>.service as an argument? > status = execl("/usr/bin/systemctl", "systemctl", > "start", > pathbuf, NULL); > - status = execl("/bin/systemctl", "systemctl", "start", > - pathbuf, NULL); > + pr_err("/usr/bin/systemctl %s got failure\n", pathbuf); > exit(1); This assumes systemctl is location in /usr/bin only - you removed the fallback case for it being location in /bin. In addition, instead of saying 'got failure' lets do something with the errno value so the user gets a more descriptive error message. Cheers, Jes -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html