linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jes Sorensen <jes.sorensen@gmail.com>
To: Peter Rajnoha <prajnoha@redhat.com>, NeilBrown <neilb@suse.com>
Cc: linux-raid@vger.kernel.org, dm-devel@redhat.com
Subject: Re: [dm-devel] [mdadm PATCH 4/4] Create: tell udev device is not ready when first created.
Date: Tue, 2 May 2017 09:40:30 -0400	[thread overview]
Message-ID: <88ba4ec0-9c4d-aa07-b9b5-66cad893e130@gmail.com> (raw)
In-Reply-To: <65882238-57f0-dcef-645b-0ab1ab9cdc91@redhat.com>

On 05/02/2017 07:40 AM, Peter Rajnoha wrote:
> On 05/01/2017 06:35 AM, NeilBrown wrote:
>> On Fri, Apr 28 2017, Peter Rajnoha wrote:
>>> Then mdadm opens the devive, clears any old content/signatures the data
>>> area may contain, then closes it - this generates the third event -
>>> which is the "synthetic change" event (as a result of the inotify WATCH
>>> rule). And this one would drop the "not initialized" flag in udev db and
>>> the scans in udev are now enabled.
>>
>> Nope, it would be incorrect for mdadm to clear any old content.
>> Sometimes people want to ignore old content.  Sometimes they very
>> definitely want to use it.  It would be wrong for any code to try to
>> guess what is wanted.
>
> The mdadm is not going to guess - it can have an option to
> enable/disable the wiping on demand directly on command line (which is
> also what is actually done in LVM).

I know the anaconda team keeps pushing for the nonsense of being able to 
wipe drives on creation. It is wrong, it is broken, and it is not going 
to happen.

> Otherwise, if mdadm is not going to wipe/initialize the device itself,
> then it needs to wait for the external tool to do it (based on external
> configuration or on some manual wipefs-like call). So the sequence would be:
>
>  1) mdadm creating the device
>  2) mdadm setting up the device, marking it as "not initialized yet"
>  4a) mdadm waiting for the external decision to be made about wiping part
>  4b) external tool doing the wiping (or not) based on configuration or
> user's will
>  5) mdadm continuing and finishing when the wiping part is complete
>
> I expect mdadm to return only if the device is properly initialized
> otherwise it's harder for other tools called after mdadm to start
> working with the device - they need to poll for the state laboriously
> and check for readiness.

What defines readiness? Some believe a raid1 array must be fully 
assembled with all members, other setups are happy to have one running 
drive in place.....

4a/4b in your list here once again has no place in mdadm. Please kindly 
tell the anaconda team to go back and handle this properly instead.

Jes


  reply	other threads:[~2017-05-02 13:40 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-20  2:40 [mdadm PATCH 0/4] Assorted mdadm patches NeilBrown
2017-04-20  2:40 ` [mdadm PATCH 1/4] Grow_continue_command: ensure 'content' is properly initialised NeilBrown
2017-04-20 16:56   ` Jes Sorensen
2017-04-20  2:40 ` [mdadm PATCH 2/4] systemd/mdadm-last-resort: use ConditionPathExists instead of Conflicts NeilBrown
2017-04-20 16:57   ` Jes Sorensen
2017-04-20  2:40 ` [mdadm PATCH 3/4] Detail: ensure --export names are acceptable as shell variables NeilBrown
2017-04-20 16:59   ` Jes Sorensen
2017-04-20  2:40 ` [mdadm PATCH 4/4] Create: tell udev device is not ready when first created NeilBrown
2017-04-20 17:29   ` Jes Sorensen
2017-04-20 21:35     ` NeilBrown
2017-04-26 10:19       ` Peter Rajnoha
2017-04-28  3:55         ` NeilBrown
2017-04-28  9:08           ` Peter Rajnoha
2017-05-01  4:35             ` [dm-devel] " NeilBrown
2017-05-02 11:40               ` Peter Rajnoha
2017-05-02 13:40                 ` Jes Sorensen [this message]
2017-05-03 14:27                   ` Peter Rajnoha
2017-05-03 14:41                     ` Jes Sorensen
2017-05-02 21:42                 ` NeilBrown
2017-04-28  5:05         ` [mdadm PATCH] Create: tell udev md " NeilBrown
2017-04-28  9:28           ` Peter Rajnoha
2017-05-02 13:32             ` Jes Sorensen
2017-05-03 14:13               ` Peter Rajnoha
2017-05-03 14:44                 ` Jes Sorensen
2017-05-06 16:25                 ` Wols Lists
2017-05-06 19:50                   ` Phil Turmel
2017-05-09 11:57                   ` Peter Rajnoha
2017-05-09 12:14                   ` Peter Rajnoha
2017-05-02 13:42           ` Jes Sorensen
2017-05-03 14:32             ` Peter Rajnoha
2017-05-03 14:45               ` [dm-devel] " Jes Sorensen
2017-05-04 10:58           ` Peter Rajnoha
2017-05-05  5:16             ` [mdadm PATCH] Fix typo in new udev rule NeilBrown
2017-05-05 15:07               ` 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=88ba4ec0-9c4d-aa07-b9b5-66cad893e130@gmail.com \
    --to=jes.sorensen@gmail.com \
    --cc=dm-devel@redhat.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.com \
    --cc=prajnoha@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).