From: Dave Reisner <d@falconindy.com>
To: Dmitrijs Ledkovs <dmitrij.ledkov@surgut.co.uk>
Cc: Tom Gundersen <teg@jklm.no>,
Dave Reisner <dreisner@archlinux.org>,
linux-raid@vger.kernel.org
Subject: Re: [PATCH] mdadm: autodetect being run in an initramfs
Date: Thu, 27 Sep 2012 18:50:09 -0400 [thread overview]
Message-ID: <20120927225009.GX474@rampage> (raw)
In-Reply-To: <CANBHLUi=kNQNdr6J7h4hbWZFdBUkf6XNdYWE1WYQo5AQ_t1aOw@mail.gmail.com>
On Thu, Sep 27, 2012 at 11:29:48PM +0100, Dmitrijs Ledkovs wrote:
> On 27 September 2012 23:11, Dave Reisner <d@falconindy.com> wrote:
> >
> > On Sep 27, 2012 6:08 PM, "Dmitrijs Ledkovs" <dmitrij.ledkov@surgut.co.uk>
> > wrote:
> >>
> >> On 27 September 2012 15:41, Dave Reisner <dreisner@archlinux.org> wrote:
> >> > Key off of the existance of /etc/initrd-release as an indicator that
> >> > mdadm is running in early userspace and set the __offroot flag. This
> >> > allows the same udev-based assembly rules to be valid both off and on
> >> > root and, moreover, will propagate to mdmon, should it need to be
> >> > started.
> >> >
> >>
> >> And what shall non-systemd systems do?
> >
> > Add the file, of course!
> >
> >>
> >> I don't have /etc/initrd-release in my initramfs-tools generated
> >> initrd, and so far didn't have a usecase for it.
> >> Should it be an empty file?
> >>
> >
> > Yep, just an empty file. It only serves to be a marker since there really
> > isn't any other heuristic for detecting early userspace.
> >
>
> This is a bit backwards. As far as I understand the systemd & udev
> merge now means that udev rules cannot spawn long running processes
> and instead should have a proper systemd units instead.
udev rules were never allowed to spawn long running processes. The
merger means nothing in this regard. The only point of this patch is
to ensure that mdmon is spawned via mdadm with the correct --offroot
flag so that it isn't mercilessly slaughtered later on. This auto-spawn
behavior happens today, but without the --offroot flag.
> And since systemd is running all of the initramfs surely it can set up
> an environment without adding pointless files, e.g. an environment
> variable?
How would such an environment variable be set?
Not everyone runs systemd in early userspace. To my knowledge, only
Fedora does this currently. However, everyone can only benefit from this
marker file in their initramfs. For those not running systemd at all,
the presence of this file has no perceivable effect.
> Please correct me, if I am wrong, cause I really don't understand
> either this patch or systemd or both.
>
>
> >>
> >> > Signed-off-by: Dave Reisner <dreisner@archlinux.org>
> >> > ---
> >> > mdadm.c | 5 +++++
> >> > 1 file changed, 5 insertions(+)
> >> >
> >> > diff --git a/mdadm.c b/mdadm.c
> >> > index 4c7c5ea..557e00b 100644
> >> > --- a/mdadm.c
> >> > +++ b/mdadm.c
> >> > @@ -1106,6 +1106,11 @@ int main(int argc, char *argv[])
> >> > exit(0);
> >> > }
> >> >
> >> > + /* auto-detect being on an initramfs
> >> > + *
> >> > http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface */
> >> > + if (access("/etc/initrd-release", F_OK) == 0)
> >> > + __offroot = 1;
> >> > +
> >> > if (!mode && devs_found) {
> >> > mode = MISC;
> >> > devmode = 'Q';
> >> > --
> >> > 1.7.12.1
> >> >
> >> > --
> >> > To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> >> > the body of a message to majordomo@vger.kernel.org
> >> > More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-09-27 22:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-27 14:41 [PATCH] mdadm: autodetect being run in an initramfs Dave Reisner
2012-09-27 22:07 ` Dmitrijs Ledkovs
[not found] ` <CA+mSPTgDnq8Xi+xCZte1WtORZhnV8S0=FXsm=wM0N1LfLpgtfQ@mail.gmail.com>
2012-09-27 22:29 ` Dmitrijs Ledkovs
2012-09-27 22:50 ` Dave Reisner [this message]
2012-09-27 22:35 ` NeilBrown
2012-09-27 22:53 ` Dave Reisner
2012-09-27 23:18 ` NeilBrown
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=20120927225009.GX474@rampage \
--to=d@falconindy.com \
--cc=dmitrij.ledkov@surgut.co.uk \
--cc=dreisner@archlinux.org \
--cc=linux-raid@vger.kernel.org \
--cc=teg@jklm.no \
/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 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).