All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: dsterba@suse.cz, Christoph Hellwig <hch@lst.de>,
	Chris Mason <clm@fb.com>, Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>, Qu Wenruo <wqu@suse.com>,
	linux-btrfs@vger.kernel.org
Subject: Re: simple synchronous read repair v2
Date: Tue, 7 Jun 2022 06:53:35 +0800	[thread overview]
Message-ID: <dcddfea0-ca0b-c59a-187b-34534509c538@gmx.com> (raw)
In-Reply-To: <20220606212500.GI20633@twin.jikos.cz>



On 2022/6/7 05:25, David Sterba wrote:
> On Fri, May 27, 2022 at 10:43:11AM +0200, Christoph Hellwig wrote:
>> Hi all,
>>
>> this is my take on the read repair code.  It borrow a lot of concepts
>> and patches from Qu's attempt.  The big difference is that it does away
>> with multiple in-flight repair bios, but instead just does one at a
>> time, but tries to make it as big as possible.
>>
>> My aim here is mostly to fix up the messy I/O completions for the
>> direct I/O path, that make further bio optimizations rather annoying,
>> but it also gives better I/O patterns for repair (although I'm not sure
>> anyone cares) and removes a fair chunk of code.
>>
>> [this is on top of a not commit yet series.  I kinda hate doing that, but
>>   with all the hot repair discussion going on right now we might as well
>>   have an uptodate version of this series out on the list]
>>
>> Git tree:
>>
>>     git://git.infradead.org/users/hch/misc.git btrfs-read_repair
>>
>> Gitweb:
>>
>>     http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/btrfs-read_repair
>>
>> Changes since v1:
>>   - rebased on top of the "misc btrfs cleanups" series that contains
>>     various patches previously in this series and the
>>     "cleanup btrfs bio handling, part 2 v4" series
>>   - handle partial reads due to checksum failures
>>   - handle large I/O for parity RAID repair as well
>>   - add a lot more comments
>>   - rename btrfs_read_repair_end to btrfs_read_repair_finish
>
> The preparatory patches and other bio patches are now in misc-next, so
> I'm adding this branch for-next. At this point I'm cosidering this for
> merge as it has better performance compared to the simple repair from
> Qu, though I still need some time to finish the review.

OK, although I'd say, considering the latest read-repair test, we may
want to simply the write part, to only write the data back to the
initial mirror.

Thanks,
Qu

  reply	other threads:[~2022-06-06 22:53 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-27  8:43 simple synchronous read repair v2 Christoph Hellwig
2022-05-27  8:43 ` [PATCH 1/9] btrfs: save the original bi_iter into btrfs_bio for buffered read Christoph Hellwig
2022-05-27  8:43 ` [PATCH 2/9] btrfs: set ->file_offset in end_bio_extent_readpage Christoph Hellwig
2022-05-27  8:43 ` [PATCH 3/9] btrfs: factor out a btrfs_map_repair_bio helper Christoph Hellwig
2022-05-27  8:43 ` [PATCH 4/9] btrfs: support read bios in btrfs_map_repair_bio Christoph Hellwig
2022-05-27  8:43 ` [PATCH 5/9] btrfs: add new read repair infrastructure Christoph Hellwig
2022-05-27  8:43 ` [PATCH 6/9] btrfs: use the new read repair code for direct I/O Christoph Hellwig
2022-05-27  8:43 ` [PATCH 7/9] btrfs: use the new read repair code for buffered reads Christoph Hellwig
2022-06-14 16:25   ` Josef Bacik
2022-05-27  8:43 ` [PATCH 8/9] btrfs: remove io_failure_record infrastructure completely Christoph Hellwig
2022-05-27  8:43 ` [PATCH 9/9] btrfs: fold repair_io_failure into btrfs_repair_eb_io_failure Christoph Hellwig
2022-06-06 21:25 ` simple synchronous read repair v2 David Sterba
2022-06-06 22:53   ` Qu Wenruo [this message]
2022-06-07  6:16     ` Christoph Hellwig
2022-06-07  6:34       ` Qu Wenruo
2022-06-07  6:45         ` Christoph Hellwig
2022-06-07  8:13           ` Qu Wenruo

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=dcddfea0-ca0b-c59a-187b-34534509c538@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=dsterba@suse.cz \
    --cc=hch@lst.de \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=wqu@suse.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.