[dm-devel] [PATCH 01/33] multipathd.service: fixup Wants= and Before= statements

Martin Wilck mwilck at suse.com
Tue Mar 14 07:36:37 UTC 2017


On Mon, 2017-03-13 at 18:06 -0500, Benjamin Marzinski wrote:
> On Tue, Feb 28, 2017 at 05:22:57PM +0100, Martin Wilck wrote:
> > From: Hannes Reinecke <hare at suse.de>
> > 
> > With the latest LVM2 update we now have the 'lvm2-lvmetad.service'.
> > Also we need to specify 'blk-availability.service' in the 'Before='
> > statement, as just adding it to 'Wants=' assumes the multipathd
> > service should be running after the blk-availability service.
> 
> As far as I can tell, The Before= command only says that if the other
> unit is started, this one will be started first. It doesn't take the
> place of Wants= or Requires=. So I think we should keep that Wants=
> line.

Do we really "Want" it? blk-availability.service itself includes the
line "WantedBy=sysinit.target". Otherwise it only specifies "After"
dependencies for various block device-related services (except for
multipathd.service, which is the reason why we need "Before" there).

The only actual purpose of "blk-availability.service" is to run
"blkdeactivate" on shutdown. Why does that deserve a "Wants" dependency
on the part of multipathd? The primary purpose of the service is
related to LVM (https://www.redhat.com/archives/lvm-devel/2016-November
/msg00090.html) but none of the LVM services "Want" it AFAICS, so why
should multipath?

Regards
Martin


> 
> -Ben
> 
> > 
> > Signed-off-by: Hannes Reinecke <hare at suse.com>
> > ---
> >  multipathd/multipathd.service | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/multipathd/multipathd.service
> > b/multipathd/multipathd.service
> > index d26577f3..be13138c 100644
> > --- a/multipathd/multipathd.service
> > +++ b/multipathd/multipathd.service
> > @@ -1,10 +1,9 @@
> >  [Unit]
> >  Description=Device-Mapper Multipath Device Controller
> > -Before=iscsi.service iscsid.service lvm2-activation-early.service
> > -Before=local-fs-pre.target systemd-udev-trigger.service
> > +Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-
> > activation-early.service
> > +Before=local-fs-pre.target systemd-udev-trigger.service blk-
> > availability.service
> >  After=multipathd.socket systemd-udevd.service
> >  DefaultDependencies=no
> > -Wants=local-fs-pre.target multipathd.socket blk-
> > availability.service
> >  Conflicts=shutdown.target
> >  
> >  [Service]
> > -- 
> > 2.11.0
> > 
> > --
> > dm-devel mailing list
> > dm-devel at redhat.com
> > https://www.redhat.com/mailman/listinfo/dm-devel
> 
> 

-- 
Dr. Martin Wilck <mwilck at suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)




More information about the dm-devel mailing list