Add --offroot argument to mdadm
When --offroot is specified, mdadm will change the first character of argv[0] to '@'. This is used to signal to systemd that mdadm was launched from initramfs and should not be shut down before returning to the initramfs. Acked-by: Doug Ledford <dledford@redhat.com> Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
eb155f6de0
commit
08ca2adfff
5
ReadMe.c
5
ReadMe.c
|
@ -111,6 +111,7 @@ struct option long_options[] = {
|
||||||
{"kill-subarray", 1, 0, KillSubarray},
|
{"kill-subarray", 1, 0, KillSubarray},
|
||||||
{"update-subarray", 1, 0, UpdateSubarray},
|
{"update-subarray", 1, 0, UpdateSubarray},
|
||||||
{"udev-rules", 2, 0, UdevRules},
|
{"udev-rules", 2, 0, UdevRules},
|
||||||
|
{"offroot", 0, 0, OffRootOpt},
|
||||||
|
|
||||||
/* synonyms */
|
/* synonyms */
|
||||||
{"monitor", 0, 0, 'F'},
|
{"monitor", 0, 0, 'F'},
|
||||||
|
@ -268,6 +269,10 @@ char OptionHelp[] =
|
||||||
" --query -Q : Display general information about how a\n"
|
" --query -Q : Display general information about how a\n"
|
||||||
" device relates to the md driver\n"
|
" device relates to the md driver\n"
|
||||||
" --auto-detect : Start arrays auto-detected by the kernel\n"
|
" --auto-detect : Start arrays auto-detected by the kernel\n"
|
||||||
|
" --offroot : Set first character of argv[0] to @ to indicate the\n"
|
||||||
|
" application was launched from initrd/initramfs and\n"
|
||||||
|
" should not be shutdown by systemd as part of the\n"
|
||||||
|
" regular shutdown process.\n"
|
||||||
;
|
;
|
||||||
/*
|
/*
|
||||||
"\n"
|
"\n"
|
||||||
|
|
12
mdadm.8.in
12
mdadm.8.in
|
@ -254,6 +254,18 @@ Avoid printing purely informative messages. With this,
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will be silent unless there is something really important to report.
|
will be silent unless there is something really important to report.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BR \-\-offroot
|
||||||
|
Set first character of argv[0] to @ to indicate mdadm was launched
|
||||||
|
from initrd/initramfs and should not be shutdown by systemd as part of
|
||||||
|
the regular shutdown process. This option is normally only used by
|
||||||
|
the system's initscripts. Please see here for more details on how
|
||||||
|
systemd handled argv[0]:
|
||||||
|
.IP
|
||||||
|
.B http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons
|
||||||
|
.PP
|
||||||
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-f ", " \-\-force
|
.BR \-f ", " \-\-force
|
||||||
Be more forceful about certain operations. See the various modes for
|
Be more forceful about certain operations. See the various modes for
|
||||||
|
|
9
mdadm.c
9
mdadm.c
|
@ -174,6 +174,15 @@ int main(int argc, char *argv[])
|
||||||
homehost = optarg;
|
homehost = optarg;
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* --offroot sets first char of argv[0] to @. This is used
|
||||||
|
* by systemd to signal that the tast was launched from
|
||||||
|
* initrd/initramfs and should be preserved during shutdown
|
||||||
|
*/
|
||||||
|
case OffRootOpt:
|
||||||
|
argv[0][0] = '@';
|
||||||
|
continue;
|
||||||
|
|
||||||
case ':':
|
case ':':
|
||||||
case '?':
|
case '?':
|
||||||
fputs(Usage, stderr);
|
fputs(Usage, stderr);
|
||||||
|
|
Loading…
Reference in New Issue