Re: [PATCH 10/33] 90multipath: install dracut-specific service file

Harald Hoyer
2014-11-25T12:26:10Z

On 20.11.2014 15:56, Thomas Renninger wrote:
> From: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
>
> The multipathd package might install a service and a socket
> file. Using the original service file from the installed
> system without the socket file triggers a bug in systemd,
> causing systemd to crash.
>
> As we don't actually need to socket file in the initrd we
> should be installing our own service file which does not
> reference the socket file at all.
>
> References: bnc#871610
>
> Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
> Signed-off-by: Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
> ---
> modules.d/90multipath/module-setup.sh | 7 +++----
> modules.d/90multipath/multipathd.service | 15 +++++++++++++++
> 2 files changed, 18 insertions(+), 4 deletions(-)
> create mode 100644 modules.d/90multipath/multipathd.service
>
> diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
> index bbee5d9..0f88f82 100755
> --- a/modules.d/90multipath/module-setup.sh
> +++ b/modules.d/90multipath/module-setup.sh
> @@ -104,10 +104,9 @@ install() {
> fi
>
> if dracut_module_included "systemd"; then
> - inst_multiple \
> - $systemdsystemunitdir/multipathd.service
> - mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants"
> - ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service"
> + inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
> + mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
> + ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/multipathd.service"
> else
> inst_hook pre-trigger 02 "$moddir/multipathd.sh"
> inst_hook cleanup 02 "$moddir/multipathd-stop.sh"
> diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
> new file mode 100644
> index 0000000..44a7b80
> --- /dev/null
> +++ b/modules.d/90multipath/multipathd.service
> @@ -0,0 +1,15 @@
> +[Unit]
> +Description=Device-Mapper Multipath Device Controller
> +Before=iscsi.service iscsid.service lvm2-activation-early.service
> +DefaultDependencies=no
> +Conflicts=shutdown.target
> +
> +[Service]
> +Type=simple
> +ExecStartPre=/sbin/modprobe dm-multipath
> +ExecStart=/sbin/multipathd -s -d
> +ExecReload=/sbin/multipathd reconfigure
> +ExecStop=/sbin/multipathd shutdown
> +
> +[Install]
> +WantedBy=sysinit.target
>

applied, thanks!

Also added a patch to turn off the service via kernel command line options.