* [PATCH] mdmon@.service: Change type of process start-up to 'forking'.
@ 2014-03-06 14:51 Pawel Baldysiak
2014-03-11 3:44 ` NeilBrown
0 siblings, 1 reply; 2+ messages in thread
From: Pawel Baldysiak @ 2014-03-06 14:51 UTC (permalink / raw)
To: neilb; +Cc: linux-raid, artur.paszkiewicz
Mdadm does not wait enough time when mdmon is started by systemd.
It causes various problems with behaviour of a RAID volume with external metadata.
For example: mdmon does not update a value of checkpoint during migration
and second RAID5 volume is read-only after reboot done during
container reshape (both problems occur with IMSM matadata).
If a type of process start-up is changed to 'forking', systemctl will
wait until mdmon (parent) process exits after calling fork.
This way mdmon will always be fully initialized after start_mdmon
and these problems will not occur.
In this case it is recommended to add a path to PIDFile, so that systemd
does not have to guess a PID of the mdmon process.
Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: Lukasz Dorau <lukasz.dorau@intel.com>
---
systemd/mdmon@.service | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/systemd/mdmon@.service b/systemd/mdmon@.service
index 5520cd0..304b26e 100644
--- a/systemd/mdmon@.service
+++ b/systemd/mdmon@.service
@@ -14,5 +14,7 @@ Before=initrd-switch-root.target
# mdmon should never complain due to lack of a platform,
# that is mdadm's job if at all.
Environment=IMSM_NO_PLATFORM=1
-ExecStart=/sbin/mdmon --foreground %I
+ExecStart=/sbin/mdmon %I
+Type=forking
+PIDFile=/run/mdadm/%I.pid
KillMode=none
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mdmon@.service: Change type of process start-up to 'forking'.
2014-03-06 14:51 [PATCH] mdmon@.service: Change type of process start-up to 'forking' Pawel Baldysiak
@ 2014-03-11 3:44 ` NeilBrown
0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2014-03-11 3:44 UTC (permalink / raw)
To: Pawel Baldysiak; +Cc: linux-raid, artur.paszkiewicz
[-- Attachment #1: Type: text/plain, Size: 1809 bytes --]
On Thu, 06 Mar 2014 15:51:44 +0100 Pawel Baldysiak
<pawel.baldysiak@intel.com> wrote:
> Mdadm does not wait enough time when mdmon is started by systemd.
> It causes various problems with behaviour of a RAID volume with external metadata.
> For example: mdmon does not update a value of checkpoint during migration
> and second RAID5 volume is read-only after reboot done during
> container reshape (both problems occur with IMSM matadata).
> If a type of process start-up is changed to 'forking', systemctl will
> wait until mdmon (parent) process exits after calling fork.
> This way mdmon will always be fully initialized after start_mdmon
> and these problems will not occur.
> In this case it is recommended to add a path to PIDFile, so that systemd
> does not have to guess a PID of the mdmon process.
>
> Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com>
> Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
> Reviewed-by: Lukasz Dorau <lukasz.dorau@intel.com>
> ---
> systemd/mdmon@.service | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/systemd/mdmon@.service b/systemd/mdmon@.service
> index 5520cd0..304b26e 100644
> --- a/systemd/mdmon@.service
> +++ b/systemd/mdmon@.service
> @@ -14,5 +14,7 @@ Before=initrd-switch-root.target
> # mdmon should never complain due to lack of a platform,
> # that is mdadm's job if at all.
> Environment=IMSM_NO_PLATFORM=1
> -ExecStart=/sbin/mdmon --foreground %I
> +ExecStart=/sbin/mdmon %I
> +Type=forking
> +PIDFile=/run/mdadm/%I.pid
> KillMode=none
>
applied, thanks.
I wonder if we should try to make it use MDMON_DIR instead of /run/mdadm ...
though anyone who uses systemd almost certainly uses /run so it probably
doesn't matter.
Thanks,
NeilBrown
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-03-11 3:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-06 14:51 [PATCH] mdmon@.service: Change type of process start-up to 'forking' Pawel Baldysiak
2014-03-11 3:44 ` NeilBrown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).