All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: Neil Brown <neilb@suse.de>
Cc: linux-raid <linux-raid@vger.kernel.org>
Subject: Re: [mdadm git pull] "--assemble --scan" support for imsm
Date: Sun, 02 Nov 2008 16:15:52 -0700	[thread overview]
Message-ID: <1225667752.14396.22.camel@dwillia2-linux.ch.intel.com> (raw)
In-Reply-To: <18697.11562.810718.957829@notabene.brown>

On Wed, 2008-10-29 at 20:42 -0700, Neil Brown wrote:
> To fit the assembly of a specific member of a container into this
> model, we need to have the 'container' in the list of available
> devices.
> If the identity specifies 'container=whatever' then we clearly select
> all devices which match that.  You would expect at exactly one - the
> container.  You would then need to call ->container_content on that
> container and find the correct member array which matches the
> 'member=' specifier (or any other specifier there might be?)
> 
> Exactly how updates and "--force" are passed though would need to be
> sorted out.
> Then the devices in the selected array from ->container_content could
> be passed to sysfs_add_disk and the array started.
> 
> Auto-assembly would discover that the first unused-so-far device was a
> container, and would need to load the list of arrays and assemble the
> first one that was not yet assembled.
> 

I had a go at this, and the result is pushed out to my scratch-devel
branch.  mdadm can now:

1/ Scan and assemble container members
mdadm -Es > mdadm.conf
cat mdadm.conf
ARRAY metadata=imsm auto=md UUID=88f0b659-966978a7-842f86c0-879a414d
ARRAY /dev/md/r1 container=88f0b659-966978a7-842f86c0-879a414d
   member=0 auto=mdp UUID=42d6de62-bd27b267-96e8e960-13efc3a6
ARRAY /dev/md/r2 container=88f0b659-966978a7-842f86c0-879a414d
   member=1 auto=mdp UUID=b0764c97-8b4fdf0e-0821862e-a80f1452
mdadm -Asc mdadm.conf
mdadm: Container /dev/md/imsm127 has been assembled with 6 drives
mdadm: Started /dev/md/r1 with 6 devices
mdadm: Started /dev/md/r2 with 6 devices

2/ Assemble member array by uuid
mdadm -A /dev/md/r1 /dev/md/imsm -a mdp -u 42d6de62-bd27b267-96e8e960-13efc3a6

3/ Auto-assemble member arrays as foreign arrays

This still does not handle updates or --force... it seems awkward to try
and support --force at anything other than the container level, but that
is the extent of my thinking so far.

The following changes since commit fb9253084ab0b9e4ac1113e4fc8f0b88d818d4f8:
  NeilBrown (1):
        mdopen:  fix up name parsing.

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/mdadm.git scratch-devel

Dan Williams (21):
      Quiet uninitialized variable warnings
      Makefile: fixup install of udev rules
      imsm: match_home(), document why it is stubbed out
      Let symlinks to standard devices count as standard names
      imsm: display member array uuid in examine_super_imsm
      imsm: display container uuid in detail_super
      config: add 'containers' as a DEVICE keyword
      Add a 'container' flag to mddev_dev_t
      Assemble: check if the devlist entry is a container
      Assemble: let trustworthy be LOCAL when array is identified
      Assemble: replace 'info' with 'content'
      Assemble: teach it to look inside containers for matching arrays
      Assemble: discard non-container devices when not required
      cleanup an unused call to container2devname
      config: add containers to the default search list
      Assemble: revert preliminary -As support
      Copy container_dev in dup_super
      Assemble: factor out and call assemble_container_content
      fixup create_mddev
      Assemble: block attempts to reassemble container members
      Assemble: enable member array auto-assembly

 Assemble.c    |  428 ++++++++++++++++++++++++++++++++++++++-------------------
 Incremental.c |   99 +------------
 Makefile      |    4 +-
 config.c      |   46 ++++++-
 mdadm.c       |    1 +
 mdadm.h       |   17 ++-
 mdmon.c       |    9 ++
 mdopen.c      |    7 +-
 super-intel.c |   37 ++++--
 util.c        |  155 ++++++++++++++++++++-
 10 files changed, 542 insertions(+), 261 deletions(-)



  reply	other threads:[~2008-11-02 23:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-28 21:44 [mdadm git pull] "--assemble --scan" support for imsm Dan Williams
2008-10-29  9:19 ` Neil Brown
2008-10-29 16:12   ` Dan Williams
2008-10-30  3:42     ` Neil Brown
2008-11-02 23:15       ` Dan Williams [this message]
2008-11-04 10:52         ` Neil Brown
2008-11-05 15:40           ` Dan Williams
2008-10-30 12:43   ` Neil Brown
     [not found] <4C69D525.4060404@gmail.com>
2010-08-17 16:49 ` Dan Williams
2010-08-17 18:48   ` Jiang, Dave

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=1225667752.14396.22.camel@dwillia2-linux.ch.intel.com \
    --to=dan.j.williams@intel.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    /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.