linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Evans <mjevans1983@gmail.com>
To: Neil Brown <neilb@suse.de>
Cc: Doug Ledford <dledford@redhat.com>,
	Dan Williams <dan.j.williams@intel.com>,
	linux-raid@vger.kernel.org, initramfs@vger.kernel.org,
	martin f krafft <madduck@debian.org>,
	Michal Marek <mmarek@suse.de>,
	Hans de Goede <hdegoede@redhat.com>,
	Bill Nottingham <notting@redhat.com>
Subject: Re: [[Patch mdadm] 2/5] Move the files mdmon opens into /dev/ to support handoff after pivotroot
Date: Mon, 8 Feb 2010 16:20:37 -0800	[thread overview]
Message-ID: <4877c76c1002081620r77a39bes1ab139ad587f1f9b@mail.gmail.com> (raw)
In-Reply-To: <20100209083838.6568cac0@notabene.brown>

On Mon, Feb 8, 2010 at 1:38 PM, Neil Brown <neilb@suse.de> wrote:
> On Mon, 08 Feb 2010 10:32:53 -0500
> Doug Ledford <dledford@redhat.com> wrote:
>
>> On 02/06/2010 04:07 PM, Dan Williams wrote:
>>
>> > This comment makes me see Neil's argument in a different light,
>> > (hopefully I am not mischaracterizing it), but essentially we are
>> > waiting for the standards to catch up with this new class of program.
>> > FUSE, CUSE, and mdmon belong to a class of programs that move
>> > traditionally exclusive kernel space functionality to userspace.
>> > Debian's /lib/init/rw looks to be a response to this grey area of the
>> > standards (not that I have any familiarity with the LSB).
>>
>> So if we want to argue that the standards are simply behind the times,
>> and we need to do something that makes sense regardless of the
>> standards, then I don't think anything in /dev or /lib makes sense.  The
>> files that need to be created pre-rw-root are varied in their type and
>> purpose between different things.  What we really need is simply an
>> early boot /tmp area.  So, why not make a top level directory that
>> clearly delineates this nature?  Something like /pre-init or /early-tmp
>> or whatever?  Or possibly /tmp/pre-boot or /tmp/pre-init or
>> /tmp/pre-pivot-root (the pre-pivot-root naming is awfully linux
>> specific, so maybe /tmp/pre-init or /tmp/pre-boot would be better for
>> possible standards acceptance later)?  I was thinking that mdmon's files
>> would be stuck there, but then I remembered that we are doing option #3
>> for mdmon, restarting after the system is up and running, so only the
>> mdmon instances from the initramfs would put their files there, the
>> final ones would be on the real /var/run area.  So, since as far as I
>> know the mdmon .sock files were the only pre-boot files that couldn't be
>> moved later (but effectively get moved by restarting mdmon after r/w
>> /var/run), any and all files in /tmp/pre-pivot-root should be removed
>> once the system is up and running, and quite possibly the filesystem
>> could be entirely done away with.  At least then the naming would be to
>> Neil's satisfaction I think, and mine.  And personally, when the
>> standards are simply behind the times, I have no problem blazing ahead
>> and letting them catch up when they get off their asses.
>>
>>
>
> That's the spirit!!!
> Let's figure out what we really want/need, and just do it.
>
> Following my recent discovery that mdmon prevents /var from being unmounted
> at shutdown, I wonder if we really want something generic that persists from
> very early boot to very late shutdown, rather than just the early-boot part.
> So something like /var/run, but not dependent on /var and guaranteed to be
> in-memory (or swap) and created very early by initramfs.
>
>   /run
> ???
> Trivial implementation for most distros would be to make it a symlink
> to /dev/run.
>
> I would prefer a name a little more descriptive than "/run" - something that
> reflects the idea that it is particularly for early-boot or late-shutdown -
> but nothing comes to mind.
>
> I could probably actually live with "/dev/run" as the permanent home for the
> mdmon files:  /dev/run/mdmon/*.{sock,pid}
> It addresses most of the issues I had with the original suggestion (hidden
> files, non-generic approach) so the "cons" are weaker.  And I now understand
> the "pros" better (races with cleaning /var/run, issues with unmounting /var
> etc).
>
> Anyone second the motion?
>
> NeilBrown
> --
> 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
>

What about systems that have only devices known at compile/create time
and thus might be created with a fully static /dev for extra
simplicity.  We should not simply expect that /dev is read-write as a
system requirement.  This is one reason why my previous solutions
suggested using a known area and symlinking in an implementation
defined way that mdadm/mdmon didn't need to know about.

Maybe a good name for it is '/state' as in system state information.
It would be reasonable to expect it to be a ram/swap backed filesystem
for SMALL files to exist as a user-space state area for various
daemons and such.

However any information in there which is also potentially useful to
in-kernel code should probably be re-located to an entry exposed via
sysfs.
--
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

  reply	other threads:[~2010-02-09  0:20 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11 20:38 Minor mdadm fixes Doug Ledford
2010-01-11 20:38 ` [[Patch mdadm] 1/5] Make the IMSM_DEVNAME_AS_SERIAL option work when creating containers. This allows a person to testing using loopback devices that don't support serial number queries Doug Ledford
2010-01-18 22:01   ` Neil Brown
2010-01-18 22:13   ` Dan Williams
2010-01-19  1:55     ` Doug Ledford
2010-01-19  4:42       ` Dan Williams
2010-01-19  5:31         ` Doug Ledford
2010-01-19  5:47           ` Dan Williams
2010-01-11 20:38 ` [[Patch mdadm] 2/5] Move the files mdmon opens into /dev/ to support handoff after pivotroot Doug Ledford
2010-01-18 22:09   ` Neil Brown
2010-01-19  7:21     ` Luca Berra
2010-01-19 17:51     ` Doug Ledford
2010-02-01 20:32       ` Bill Davidsen
2010-02-01 21:32         ` Doug Ledford
2010-02-01 22:42           ` Bill Davidsen
2010-02-02  4:08             ` Michael Evans
2010-02-02  7:17               ` Luca Berra
2010-02-02 15:42               ` Bill Davidsen
2010-02-02 18:19                 ` Doug Ledford
2010-02-04 13:50                   ` Bernd Schubert
2010-02-04 15:03                     ` Bernd Schubert
2010-02-04 15:48                       ` Doug Ledford
2010-02-04 16:40                         ` Bernd Schubert
2010-02-04 17:35                           ` Doug Ledford
2010-02-02 18:11               ` Doug Ledford
2010-02-02 18:07             ` Doug Ledford
2010-02-02 18:18               ` Bill Davidsen
2010-02-04  6:40       ` Neil Brown
2010-02-04 18:45         ` Doug Ledford
     [not found]           ` <4B6B15B3.8030205-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-04 23:04             ` Dan Williams
     [not found]               ` <e9c3a7c21002041504w17565653m5a8b8cd90543cf1e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-05  0:21                 ` Bill Davidsen
2010-02-05 12:14                   ` Luca Berra
2010-02-06 17:51               ` Doug Ledford
     [not found]                 ` <4B6DAC06.6060909-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-06 21:07                   ` Dan Williams
     [not found]                     ` <e9c3a7c21002061307le6f5d56ked4fa3711bdd2367-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-06 21:46                       ` martin f krafft
2010-02-06 22:06                         ` Michael Evans
2010-02-08 15:32                       ` Doug Ledford
2010-02-08 21:38                         ` Neil Brown
2010-02-09  0:20                           ` Michael Evans [this message]
     [not found]                           ` <20100209083838.6568cac0-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2010-02-09  2:19                             ` martin f krafft
     [not found]                               ` <20100209021949.GB11780-0owbi4v4jRjYceiJAzDLgeTW4wlIGRCZ@public.gmane.org>
2010-02-09 20:34                                 ` Doug Ledford
     [not found]                                   ` <4B71C6CA.3010407-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-10  0:58                                     ` Mr. James W. Laferriere
     [not found]                                       ` <alpine.LNX.2.01.1002091553580.10004-pIN9qAC4yfKseEBmXaVrNB5FPEiCeG3sAL8bYrjMMd8@public.gmane.org>
2010-02-10  1:33                                         ` Neil Brown
2010-02-10  9:46                                           ` Harald Hoyer
     [not found]                                           ` <20100210123321.324e5de6-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2010-02-10 15:49                                             ` Dan Williams
2010-02-10 16:06                                               ` Michael Evans
     [not found]                                                 ` <4877c76c1002100806w66e504deg767f6ecc8cc7fa8a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-11  2:30                                                   ` Doug Ledford
2010-02-09 20:30                             ` Doug Ledford
2010-02-08  4:23                   ` Neil Brown
2010-02-07 22:13             ` Hans de Goede
2010-02-07 23:06               ` Neil Brown
2010-02-08  3:45           ` Neil Brown
2010-02-08 16:56             ` Bill Nottingham
2010-01-11 20:38 ` [[Patch mdadm] 3/5] We don't like %02d as a metadata format specifier, it confuses us when we read the output back later Doug Ledford
2010-01-18 22:02   ` Neil Brown
2010-01-11 20:38 ` [[Patch mdadm] 4/5] When using -D --export the UUID is helpful, so print it out Doug Ledford
2010-01-18 22:03   ` Neil Brown
2010-01-11 20:38 ` [[Patch mdadm] 5/5] Fix segfault when the AUTO keyword is used in the config file Doug Ledford
2010-01-18 22:03   ` Neil Brown
2010-01-12  0:49 ` Minor mdadm fixes Mr. James W. Laferriere
2010-01-12  3:10   ` Andre Noll
2010-01-12  3:36     ` Doug Ledford
2010-01-12  4:39       ` Andre Noll
2010-01-12  4:46         ` Doug Ledford
2010-01-12  5:21           ` Andre Noll
2010-01-18 22:05 ` Neil Brown

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=4877c76c1002081620r77a39bes1ab139ad587f1f9b@mail.gmail.com \
    --to=mjevans1983@gmail.com \
    --cc=dan.j.williams@intel.com \
    --cc=dledford@redhat.com \
    --cc=hdegoede@redhat.com \
    --cc=initramfs@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=madduck@debian.org \
    --cc=mmarek@suse.de \
    --cc=neilb@suse.de \
    --cc=notting@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 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).