All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roman Mamedov <rm@romanrm.net>
To: "Guilherme G. Piccoli" <gpiccoli@canonical.com>
Cc: linux-block@vger.kernel.org, Song Liu <songliubraving@fb.com>,
	NeilBrown <neilb@suse.com>,
	linux-raid@vger.kernel.org, dm-devel@redhat.com,
	jay.vosburgh@canonical.com
Subject: Re: [PATCH] md/raid0: Fail BIOs if their underlying block device is gone
Date: Tue, 30 Jul 2019 01:18:50 +0500	[thread overview]
Message-ID: <20190730011850.2f19e140@natsu> (raw)
In-Reply-To: <20190729193359.11040-1-gpiccoli@canonical.com>

On Mon, 29 Jul 2019 16:33:59 -0300
"Guilherme G. Piccoli" <gpiccoli@canonical.com> wrote:

> Currently md/raid0 is not provided with any mechanism to validate if
> an array member got removed or failed. The driver keeps sending BIOs
> regardless of the state of array members. This leads to the following
> situation: if a raid0 array member is removed and the array is mounted,
> some user writing to this array won't realize that errors are happening
> unless they check kernel log or perform one fsync per written file.
> 
> In other words, no -EIO is returned and writes (except direct ones) appear
> normal. Meaning the user might think the wrote data is correctly stored in
> the array, but instead garbage was written given that raid0 does stripping
> (and so, it requires all its members to be working in order to not corrupt
> data).

If that's correct, then this seems to be a critical weak point in cases when
we have a RAID0 as a member device in RAID1/5/6/10 arrays.

-- 
With respect,
Roman

WARNING: multiple messages have this Message-ID (diff)
From: Roman Mamedov <rm@romanrm.net>
To: "Guilherme G. Piccoli" <gpiccoli@canonical.com>
Cc: linux-raid@vger.kernel.org, linux-block@vger.kernel.org,
	dm-devel@redhat.com, jay.vosburgh@canonical.com,
	NeilBrown <neilb@suse.com>, Song Liu <songliubraving@fb.com>
Subject: Re: [PATCH] md/raid0: Fail BIOs if their underlying block device is gone
Date: Tue, 30 Jul 2019 01:18:50 +0500	[thread overview]
Message-ID: <20190730011850.2f19e140@natsu> (raw)
In-Reply-To: <20190729193359.11040-1-gpiccoli@canonical.com>

On Mon, 29 Jul 2019 16:33:59 -0300
"Guilherme G. Piccoli" <gpiccoli@canonical.com> wrote:

> Currently md/raid0 is not provided with any mechanism to validate if
> an array member got removed or failed. The driver keeps sending BIOs
> regardless of the state of array members. This leads to the following
> situation: if a raid0 array member is removed and the array is mounted,
> some user writing to this array won't realize that errors are happening
> unless they check kernel log or perform one fsync per written file.
> 
> In other words, no -EIO is returned and writes (except direct ones) appear
> normal. Meaning the user might think the wrote data is correctly stored in
> the array, but instead garbage was written given that raid0 does stripping
> (and so, it requires all its members to be working in order to not corrupt
> data).

If that's correct, then this seems to be a critical weak point in cases when
we have a RAID0 as a member device in RAID1/5/6/10 arrays.

-- 
With respect,
Roman

  reply	other threads:[~2019-07-29 20:18 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-29 19:33 [PATCH] md/raid0: Fail BIOs if their underlying block device is gone Guilherme G. Piccoli
2019-07-29 19:33 ` Guilherme G. Piccoli
2019-07-29 20:18 ` Roman Mamedov [this message]
2019-07-29 20:18   ` Roman Mamedov
2019-07-29 20:27   ` Guilherme G. Piccoli
2019-07-29 20:27     ` Guilherme G. Piccoli
2019-07-29 20:36     ` Roman Mamedov
2019-07-29 20:36       ` Roman Mamedov
2019-07-29 20:49       ` Guilherme G. Piccoli
2019-07-29 20:49         ` Guilherme G. Piccoli
2019-07-29 21:14     ` Reindl Harald
2019-07-29 21:14       ` Reindl Harald
2019-07-30  0:08 ` NeilBrown
2019-07-30  0:08   ` NeilBrown
2019-07-30 12:30   ` Guilherme G. Piccoli
2019-07-30 12:30     ` Guilherme G. Piccoli
2019-07-31 19:54     ` Song Liu
2019-07-31 19:54       ` Song Liu
2019-07-31 19:56       ` Song Liu
2019-07-31 19:56         ` Song Liu
2019-08-01 20:28         ` Guilherme G. Piccoli
2019-08-01 20:28           ` Guilherme G. Piccoli
2019-08-01 22:43           ` Song Liu
2019-08-01 22:43             ` Song Liu
2019-08-16 13:45             ` Guilherme G. Piccoli
2019-08-16 13:45               ` Guilherme G. Piccoli

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=20190730011850.2f19e140@natsu \
    --to=rm@romanrm.net \
    --cc=dm-devel@redhat.com \
    --cc=gpiccoli@canonical.com \
    --cc=jay.vosburgh@canonical.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.com \
    --cc=songliubraving@fb.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 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.