linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Jes Sorensen <Jes.Sorensen@redhat.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: [PATCH 0/1] RFC: Use /dev/md/X as default name
Date: Tue, 3 Mar 2015 08:43:27 +1100	[thread overview]
Message-ID: <20150303084327.21ddb086@notabene.brown> (raw)
In-Reply-To: <wrfjoaobz7fz.fsf@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3993 bytes --]

On Mon, 02 Mar 2015 11:32:16 -0500 Jes Sorensen <Jes.Sorensen@redhat.com>
wrote:

> NeilBrown <neilb@suse.de> writes:
> > On Wed, 18 Feb 2015 17:11:33 -0500 Jes Sorensen <Jes.Sorensen@redhat.com>
> > wrote:
> >
> >> NeilBrown <neilb@suse.de> writes:
> >> > On Wed, 18 Feb 2015 13:12:09 -0500 Jes Sorensen <Jes.Sorensen@redhat.com>
> >> > wrote:
> >> >
> >> >> Jes.Sorensen@redhat.com writes:
> >> >> > From: Jes Sorensen <Jes.Sorensen@redhat.com>
> >> >> >
> >> >> > I have received some issues for when creating an array using a
> >> >> > /dev/mdX name, the matching symlink in /dev/md/X isn't
> >> >> > created. Whereas if you create /dev/md/X, /dev/mdX is created
> >> >> > automatically.
> >> >> >
> >> >> > I was trying to see if there was a better way of dealing with this,
> >> >> > but I couldn't find one. If you have suggestions for a better solution
> >> >> > I am all ears.
> >> >> >
> >> >> > Thoughts?
> >> >> 
> >> >> Hi Neil,
> >> >> 
> >> >> Any thoughts on this one?
> >> >
> >> > Thanks for the reminder....
> >> >
> >> > I'm not sure that I really see the problem.
> >> >
> >> >   "I ask it to create /dev/mdX and it doesn't create /dev/md/X".
> >> >
> >> > Well ... no.  You didn't ask it to.  If you want it to create /dev/md/X,
> >> > then ... ask it to.
> >> >
> >> > /dev/mdX is the canonical name.  It always gets created.
> >> > /dev/md/X is a convenient alias.  It gets created if requested.
> >> >
> >> > Is there really a problem here worth solving?
> >> >
> >> > Maybe I missed something.
> >> 
> >> I have had complaints in Fedora from the installer people that they rely
> >> on the /dev/md/ name being created when they create a new device. It is
> >> also inconsistent because /dev/md/<X> will be created if you run
> >> 'mdadm -As' later on.
> >
> > If they rely on the /dev/md/ name being created, then surely they should ask
> > for it to be created.
> > Is it really harder to run "mdadm -C /dev/md/0" than "mdadm -C /dev/md0" ??
> >
> > If you create an array as "/dev/md0", then after subsequent "mdadm
> > -As" /dev/md0 will exist.
> > If you create an array as "/dev/md/0", then after subsequent mdadm
> > -As", /dev/md/0 will exist.
> >
> > The fact that something unasked for also exists is a bonus.
> >
> >> 
> >> I don't see it as a major issue, but I can see why it is frustrating for
> >> some and I think there is something to be said for being consistent in
> >> behavior.
> >
> > I think the behaviour is perfectly consistent.  It just follows rules that
> > are slightly less trivial that some people appear to want.
> >
> > However....
> > If you changed
> >
> > 			mp = map_by_uuid(&map, info->uuid);
> > 			if (mp && mp->path &&
> > 			    strncmp(mp->path, "/dev/md/", 8) == 0) {
> > 				printf("MD_DEVNAME=");
> > 				print_escape(mp->path+8);
> > 				putchar('\n');
> > 			}
> >
> >
> > in Detail.c so that when mp->path were "/dev/md0", MD_DEVNAME became "0",
> > then you should get the result that you are after, and I probably wouldn't
> > object to the patch.
> 
> Neil,
> 
> Finally had time to go back and look at this - I don't quite understand
> your request here.
> 
> As far as I can see, the above code isn't run at all during device
> creation, so I don't get how modifying it as you suggest will make
> /dev/md/111 appear if I create /dev/md111?
> 
> Cheers,
> Jes

Wheels within wheels of deception and indirection....

mdadm doesn't create the devices directly, udev does that.

IMPORT{program}="BINDIR/mdadm --detail --export $devnode"
ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"


So the symlink from /dev/md gets created iff "mdadm --detail --export"
reports an MD_DEVNAME.

Hence the change suggested.

mdadm *can* create the devices itself, but only if udev isn't running, or
mdamd has been explicitly told to ignore udev.  Normally that doesn't happen.

NeilBrown


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 811 bytes --]

  reply	other threads:[~2015-03-02 21:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-11 19:53 [PATCH 0/1] RFC: Use /dev/md/X as default name Jes.Sorensen
2015-02-11 19:53 ` [PATCH 1/1] mddev_create(): choose /dev/md/ name over /dev/mdX Jes.Sorensen
2015-02-18 18:12 ` [PATCH 0/1] RFC: Use /dev/md/X as default name Jes Sorensen
2015-02-18 21:37   ` NeilBrown
2015-02-18 22:11     ` Jes Sorensen
2015-02-18 22:32       ` NeilBrown
2015-03-02 16:32         ` Jes Sorensen
2015-03-02 21:43           ` NeilBrown [this message]
2015-03-04 15:57             ` Jes Sorensen
2015-03-05 14:56               ` Jes Sorensen

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=20150303084327.21ddb086@notabene.brown \
    --to=neilb@suse.de \
    --cc=Jes.Sorensen@redhat.com \
    --cc=linux-raid@vger.kernel.org \
    /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).