Bug#719738: [PATCH] Please install the lvm2 systemd generator

Bastian Blank waldi at debian.org
Sun Aug 25 16:21:45 UTC 2013


Control: tags -1 -patch
Control: clone -1 -2 -3
Control: reassign -2 systemd/204-2
Control: reassign -3 systemd/204-2
Control: retitle -1 lvm2 - Add systemd support
Control: retitle -2 systemd - Missing backward compatibility for "udev"
Control: retitle -3 systemd - Generators uses predictable file names in /tmp
Control: submitter -3 !

After carefully examining this whole mess, I consider this a bug in
systemd for breaking backward compatibility without reason.

On Fri, Aug 23, 2013 at 01:59:06PM +0200, Bastian Blank wrote:
> On Thu, Aug 22, 2013 at 11:38:42PM +0200, Michael Stapelberg wrote:
> > The systemd service file for udev, which we take directly from upstream,
> There is no udev.service in the upstream systemd source. In the Debian
> package it is a symlink to systemd-udevd.service.

The string udev.service does not show up in the upstream source, so you
actually lied about this being something upstream does. This make it a
deliberate and undocumented choice of the Debian maintainer to make this
a symlink to systemd-udev.service and break backward compatibility.

> >                                                               Instead,
> > upstream’s view (specifically Kay’s view as the udev maintainer) is that
> > Linux is event-driven and udev handles these events whenever they occur,
> What upstream thinks is irrelevant if the system expecations are
> different. Why can't this be a symlink to systemd-udev-settle.service,
> which provides the backward compatible behaviour?

Please actually answer my questions.

> First this needs a security check. The tool uses /tmp as default
> directory and most likely runs as root. So at least this can be used for
> DoS.

All the other generators do the same, they use predictable filenames in
/tmp if there is no argument provided. Please fix this.

Because the shipped generator from RedHat does not fail gracefully, I
consider doing this a different way:
- Ship lvm2.service and the "local-fs.wants"-symlink in the package.
- Ship a generator that masks lvm2.service by creating a symlink to
  /dev/null if lvmetad is enabled.
However I have not tried this yet.

Bastian

-- 
The heart is not a logical organ.
		-- Dr. Janet Wallace, "The Deadly Years", stardate 3479.4



More information about the pkg-lvm-maintainers mailing list