Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Miao Xie <miaox@cn.fujitsu.com>
To: Chris Mason <clm@fb.com>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH v4 00/10] Implement device scrub/replace for RAID56
Date: Wed, 3 Dec 2014 10:29:18 +0800	[thread overview]
Message-ID: <547E757E.1000700@cn.fujitsu.com> (raw)
In-Reply-To: <1417526902.21136.1@mail.thefacebook.com>

On Tue, 2 Dec 2014 08:28:22 -0500, Chris Mason wrote:
> On Tue, Dec 2, 2014 at 7:39 AM, Miao Xie <miaox@cn.fujitsu.com> wrote:
>> This patchset implement the device scrub/replace function for RAID56, the
>> most implementation of the common data is similar to the other RAID type.
>> The differentia or difficulty is the parity process. The basic idea is reading
>> and check the data which has checksum out of the raid56 stripe lock, if the
>> data is right, then lock the raid56 stripe, read out the other data in the
>> same stripe, if no IO error happens, calculate the parity and check the
>> original one, if the original parity is right, the scrub parity passes.
>> or write out the new one. But if the common data(not parity) that we read out
>> is wrong, we will try to recover it, and then check and repair the parity.
>>
>> And in order to avoid making the code more and more complex, we copy some
>> code of common data process for the parity, the cleanup work is in my
>> TODO list.
>>
>> We have done some test, the patchset worked well. Of course, more tests
>> are welcome. If you are interesting to use it or test it, you can pull
>> the patchset from
>>
>>   https://github.com/miaoxie/linux-btrfs.git raid56-scrub-replace
>>
>> Changelog v3 -> v4:
>> - Fix the problem that the scrub's raid bio was cached, which was reported
>>   by Chris.
>> - Remove the 10st patch, the deadlock that was described in that patch doesn't
>>   exist on the current kernel.
>> - Rebase the patchset to the top of integration branch
> 
> Thanks, I'll try this today.  I need to rebase in a new version of the RCU patches, can you please cook one on top of v3.18-rc6 instead?

I have updated my raid56-scrub-replace branch, please re-pull it.
  https://github.com/miaoxie/linux-btrfs.git raid56-scrub-replace

The v4 patchset in the mail list can be applied on v3.18-rc6 successfully, so
I don't update it.

Thanks
Miao

      parent reply	other threads:[~2014-12-03  2:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-02 12:39 [PATCH v4 00/10] Implement device scrub/replace for RAID56 Miao Xie
2014-12-02 12:39 ` [PATCH v4 01/10] Btrfs: remove noused bbio_ret in __btrfs_map_block in condition Miao Xie
2014-12-02 12:39 ` [PATCH v4 02/10] Btrfs: remove unnecessary code of stripe_index assignment in __btrfs_map_block Miao Xie
2014-12-02 12:39 ` [PATCH v4 03/10] Btrfs, raid56: don't change bbio and raid_map Miao Xie
2014-12-02 12:39 ` [PATCH v4 04/10] Btrfs, scrub: repair the common data on RAID5/6 if it is corrupted Miao Xie
2014-12-02 12:39 ` [PATCH v4 05/10] Btrfs, raid56: use a variant to record the operation type Miao Xie
2014-12-02 12:39 ` [PATCH v4 06/10] Btrfs, raid56: support parity scrub on raid56 Miao Xie
2014-12-02 12:39 ` [PATCH v4 07/10] Btrfs, replace: write dirty pages into the replace target device Miao Xie
2014-12-02 12:39 ` [PATCH v4 08/10] Btrfs, replace: write raid56 parity " Miao Xie
2014-12-02 12:39 ` [PATCH v4 09/10] Btrfs, raid56: fix use-after-free problem in the final device replace procedure on raid56 Miao Xie
2014-12-02 12:39 ` [PATCH v4 10/10] Btrfs, replace: enable dev-replace for raid56 Miao Xie
2014-12-02 13:28 ` [PATCH v4 00/10] Implement device scrub/replace for RAID56 Chris Mason
2014-12-02 13:57   ` Wang Shilong
2014-12-03  1:19   ` Miao Xie
2014-12-03  2:29   ` Miao Xie [this message]

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=547E757E.1000700@cn.fujitsu.com \
    --to=miaox@cn.fujitsu.com \
    --cc=clm@fb.com \
    --cc=linux-btrfs@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