From: Josef Bacik <josef@toxicpanda.com>
To: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [RFC v3 00/11] btrfs: raid-stripe-tree draft patches
Date: Thu, 20 Oct 2022 11:42:41 -0400 [thread overview]
Message-ID: <Y1FscZgAqwVx7Jtx@localhost.localdomain> (raw)
In-Reply-To: <cover.1666007330.git.johannes.thumshirn@wdc.com>
On Mon, Oct 17, 2022 at 04:55:18AM -0700, Johannes Thumshirn wrote:
> Here's a yet another draft of my btrfs zoned RAID patches. It's based on
> Christoph's bio splitting series for btrfs.
>
> Updates of the raid-stripe-tree are done at delayed-ref time to safe on
> bandwidth while for reading we do the stripe-tree lookup on bio mapping time,
> i.e. when the logical to physical translation happens for regular btrfs RAID
> as well.
>
> The stripe tree is keyed by an extent's disk_bytenr and disk_num_bytes and
> it's contents are the respective physical device id and position.
>
So generally I'm good with this design and everything, I just have a few asks
1. I want a design doc for btrfs-dev-docs that lays out the design and how it's
meant to be used. The ondisk stuff, as well as the post update after the
delayed ref runs.
2. Additionally, I would love to see it written down where exactly you want to
use this in the future. I know you've talked about using it for other raid
levels, but I have a hard time paying attention to my own stuff so I'd like
to see what the long term vision is for this, again this would probably be
well suited for the btrfs-dev-docs update.
3. I super don't love the fact that we have mirrored extents in both places,
especially with zoned stripping it down to 128k, this tree is going to be
huge. There's no way around this, but this makes the global roots thing even
more important for scalability with zoned+RST. I don't really think you need
to add that bit here now, I'll make it global in my patches for extent tree
v2. Mostly I'm just lamenting that you're going to be ready before me and
now you'll have to wait for the benefits of the global roots work.
Thanks,
Josef
next prev parent reply other threads:[~2022-10-20 15:42 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-17 11:55 [RFC v3 00/11] btrfs: raid-stripe-tree draft patches Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 01/11] btrfs: add raid stripe tree definitions Johannes Thumshirn
2022-10-20 15:21 ` Josef Bacik
2022-10-20 15:49 ` Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 02/11] btrfs: read raid-stripe-tree from disk Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 03/11] btrfs: add support for inserting raid stripe extents Johannes Thumshirn
2022-10-20 15:24 ` Josef Bacik
2022-10-20 15:30 ` Josef Bacik
2022-10-21 8:13 ` Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 04/11] btrfs: delete stripe extent on extent deletion Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 05/11] btrfs: lookup physical address from stripe extent Johannes Thumshirn
2022-10-20 15:34 ` Josef Bacik
2022-10-21 8:16 ` Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 06/11] btrfs: add raid stripe tree pretty printer Johannes Thumshirn
2022-10-20 15:34 ` Josef Bacik
2022-10-17 11:55 ` [RFC v3 07/11] btrfs: zoned: allow zoned RAID1 Johannes Thumshirn
2022-10-20 15:35 ` Josef Bacik
2022-10-17 11:55 ` [RFC v3 08/11] btrfs: allow zoned RAID0 and 10 Johannes Thumshirn
2022-10-20 15:36 ` Josef Bacik
2022-10-17 11:55 ` [RFC v3 09/11] btrfs: fix striping with RST Johannes Thumshirn
2022-10-20 15:36 ` Josef Bacik
2022-10-17 11:55 ` [RFC v3 10/11] btrfs: check for leaks of ordered stripes on umount Johannes Thumshirn
2022-10-20 15:37 ` Josef Bacik
2022-10-21 8:17 ` Johannes Thumshirn
2022-10-17 11:55 ` [RFC v3 11/11] btrfs: add tracepoints for ordered stripes Johannes Thumshirn
2022-10-20 15:38 ` Josef Bacik
2022-10-20 15:42 ` Josef Bacik [this message]
2022-10-21 8:40 ` [RFC v3 00/11] btrfs: raid-stripe-tree draft patches Johannes Thumshirn
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=Y1FscZgAqwVx7Jtx@localhost.localdomain \
--to=josef@toxicpanda.com \
--cc=johannes.thumshirn@wdc.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