From: Zdenek Kabelac <zkabelac@redhat.com>
To: Julian Andres Klode <julian.klode@canonical.com>
Cc: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] [PATCH] Detect systemd at run-time in 69-dm-lvm-metad.rules
Date: Wed, 31 Jul 2019 11:21:10 +0200 [thread overview]
Message-ID: <01707c6d-1fe3-f52e-47de-b8b13502fd0c@redhat.com> (raw)
In-Reply-To: <20190730151223.jfxvd2qwaf5jdjsm@jak-t480s>
Dne 30. 07. 19 v 17:12 Julian Andres Klode napsal(a):
> On Tue, Jul 30, 2019 at 05:02:44PM +0200, Zdenek Kabelac wrote:
>> Dne 25. 07. 19 v 20:49 Julian Andres Klode napsal(a):
>>> systems might have systemd as their normal init systems, but
>>> might not be using it in their initramfs; or like Debian, support
>>> different init systems.
>>>
>>> Detect whether we are running on systemd by checking for /run/systemd/system
>>> and then change the behavior accordingly.
>>>
>>
>>
>> Wouldn't it be better to simply disable compiling/using lvmetad on such systems ?
>
> I don't see how this has anything to do with lvmetad. There is no lvmetad
> anymore.
The whole point of 'service' for 'pvscan' is to postone activation of DM
devices outside of udev rule processing.
So whatever is replacing systemd service in your's systemd-less system must
provide similar functionality.
There is currently no way to accept autoactivation capability within udev-rule
processing.
>> HEAD of 2.03 already dropped lvmetad anyway.
>>
>> Do you need any sort of autoactivation in ramdisk ?
>
> Of course we need the PV to be scanned automatically so we can then find
> the root partition. The root device finding is event-based, we have a tool
> that listens to udev and waits for 30s for the device to appear, and relies
> on the events being triggered correctly.
There is nothing for finding - if you pass root LV into your ramdisk the
proper command to activate such LV is 'lvchange -ay vgname/lvname'
Dracut uses pretty 'navive' algorithm to run such command with whenever any
new device is found - it's added into lvm2 filters of visible device - once it
succeeds - it can proceed....
For the 'initramdisk' functionality this is IMHO good enough.
(Although there are several very ugly hacks in this code we would like to drop...)
>> There is probably higher complexity.
Activating 'root' LV via autoactivation mechanism is very complex.
IMHO some of them are really very very hard to resolve.
>> pvscan was not moved into systemd service just for fun - there have been at
>> least 2 major mandatory points why 'pvscan' with autoactivation MUST NOT be
>> executed from udev rule directly (udev timeout)
>>
>> So the proposed patch must be NAC-ked as it is - as it probably causing way
>> more troubles then it solves.
>
> The alternative would be to disable the systemd integration entirely in
> Debian and Ubuntu, as Debian requires support for non-systemd inits, and
> Ubuntu requires event-based root device finding in initramfs. Surely that's
> worse.
Can't really speak for any other distros.
I'm only commenting proposed patch for moving background pvscan into direct
udev-rule is not acceptable workaround (as it simply can't work)
The system without systemd needs to provide some other mechanism how to fire
background job.
Note - there is upcoming SID work that can supposedly resolve some of these
issue - but the release date and it's integration into distributions like
Debian is a topic for another debate...
Regards
Zdenek
next prev parent reply other threads:[~2019-07-31 9:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-25 18:49 [linux-lvm] [PATCH] Detect systemd at run-time in 69-dm-lvm-metad.rules Julian Andres Klode
2019-07-30 15:02 ` Zdenek Kabelac
2019-07-30 15:12 ` Julian Andres Klode
2019-07-31 9:21 ` Zdenek Kabelac [this message]
2019-07-31 9:33 ` Julian Andres Klode
2019-07-31 10:16 ` Zdenek Kabelac
2019-07-31 10:51 ` Gionatan Danti
2019-07-31 11:12 ` Zdenek Kabelac
2019-07-31 9:39 ` Julian Andres Klode
2019-07-31 10:22 ` Zdenek Kabelac
2019-07-31 10:41 ` Julian Andres Klode
2019-07-31 11:09 ` Zdenek Kabelac
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01707c6d-1fe3-f52e-47de-b8b13502fd0c@redhat.com \
--to=zkabelac@redhat.com \
--cc=julian.klode@canonical.com \
--cc=linux-lvm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.