From: Xiao Ni <xni@redhat.com>
To: songliubraving@fb.com
Cc: linux-raid@vger.kernel.org, matthew.ruffell@canonical.com,
colyli@suse.de, guoqing.jiang@cloud.ionos.com,
ncroxon@redhat.com, hch@infradead.org
Subject: Re: [PATCH V2 0/5] md/raid10: Improve handling raid10 discard request
Date: Thu, 4 Feb 2021 15:38:02 +0800 [thread overview]
Message-ID: <6359e6e0-4e50-912c-1f97-ae07db3eba70@redhat.com> (raw)
In-Reply-To: <1612418238-9976-1-git-send-email-xni@redhat.com>
Hi Song
Please ignore the v2 version. There is a place that needs to be fix.
I'll re-send
v2 version again.
Regards
Xiao
On 02/04/2021 01:57 PM, Xiao Ni wrote:
> Hi all
>
> Now mkfs on raid10 which is combined with ssd/nvme disks takes a long time.
> This patch set tries to resolve this problem.
>
> This patch set had been reverted because of a data corruption problem. This
> version fix this problem. The root cause which causes the data corruption is
> the wrong calculation of start address of near copies disks.
>
> Now we use a similar way with raid0 to handle discard request for raid10.
> Because the discard region is very big, we can calculate the start/end
> address for each disk. Then we can submit the discard request to each disk.
> But for raid10, it has copies. For near layout, if the discard request
> doesn't align with chunk size, we calculate a start_disk_offset. Now we only
> use start_disk_offset for the first disk, but it should be used for the
> near copies disks too.
>
> [ 789.709501] discard bio start : 70968, size : 191176
> [ 789.709507] first stripe index 69, start disk index 0, start disk offset 70968
> [ 789.709509] last stripe index 256, end disk index 0, end disk offset 262144
> [ 789.709511] disk 0, dev start : 70968, dev end : 262144
> [ 789.709515] disk 1, dev start : 70656, dev end : 262144
>
> For example, in this test case, it has 2 near copies. The start_disk_offset
> for the first disk is 70968. It should use the same offset address for second disk.
> But it uses the start address of this chunk. It discard more region. This version
> simply spilt the un-aligned part with strip size.
>
> And it fixes another problem. The calculation of stripe_size is wrong in reverted version.
>
> V2: Fix problems pointed by Christoph Hellwig.
>
> Xiao Ni (5):
> md: add md_submit_discard_bio() for submitting discard bio
> md/raid10: extend r10bio devs to raid disks
> md/raid10: pull the code that wait for blocked dev into one function
> md/raid10: improve raid10 discard request
> md/raid10: improve discard request for far layout
>
> drivers/md/md.c | 20 +++
> drivers/md/md.h | 2 +
> drivers/md/raid0.c | 14 +-
> drivers/md/raid10.c | 434 +++++++++++++++++++++++++++++++++++++++++++++-------
> drivers/md/raid10.h | 1 +
> 5 files changed, 402 insertions(+), 69 deletions(-)
>
next prev parent reply other threads:[~2021-02-04 7:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 5:57 [PATCH V2 0/5] md/raid10: Improve handling raid10 discard request Xiao Ni
2021-02-04 5:57 ` [PATCH V2 1/5] md: add md_submit_discard_bio() for submitting discard bio Xiao Ni
2021-02-04 5:57 ` [PATCH V2 2/5] md/raid10: extend r10bio devs to raid disks Xiao Ni
2021-02-04 5:57 ` [PATCH V2 3/5] md/raid10: pull the code that wait for blocked dev into one function Xiao Ni
2021-02-04 5:57 ` [PATCH V2 4/5] md/raid10: improve raid10 discard request Xiao Ni
2021-02-04 5:57 ` [PATCH V2 5/5] md/raid10: improve discard request for far layout Xiao Ni
2021-02-04 7:38 ` Xiao Ni [this message]
2021-02-04 8:12 ` [PATCH V2 0/5] md/raid10: Improve handling raid10 discard request Song Liu
2021-02-04 8:39 ` Xiao Ni
2021-02-04 17:29 ` Song Liu
2021-02-04 7:50 Xiao Ni
2021-02-15 4:05 ` Matthew Ruffell
2021-02-20 8:12 ` Xiao Ni
2021-02-24 8:41 ` Song Liu
2021-03-11 3:55 Adrian Huang12
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=6359e6e0-4e50-912c-1f97-ae07db3eba70@redhat.com \
--to=xni@redhat.com \
--cc=colyli@suse.de \
--cc=guoqing.jiang@cloud.ionos.com \
--cc=hch@infradead.org \
--cc=linux-raid@vger.kernel.org \
--cc=matthew.ruffell@canonical.com \
--cc=ncroxon@redhat.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 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).