From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 00/11] btrfs: extent tree v2, support for global roots
Date: Wed, 15 Dec 2021 15:39:57 -0500 [thread overview]
Message-ID: <cover.1639600719.git.josef@toxicpanda.com> (raw)
v1->v2:
- Disabled some more operations for extent tree v2 that I found were problematic
in testing.
- Rebased onto a recent misc-next
--- Original email ---
Hello,
This is the kernel side of the global roots and block group root support. The
motivation for this change is described in the progs patches. The important
part here is I've disabled qgroups and balance for now, this support will be
added back later. I've also changed global block rsv size calculation, but it's
exactly the same result for !EXTENT_TREE_V2. And finally there's the support
for loading the roots. This doesn't panic and doesn't introduce any performance
regressions. I've also hidden the support behind CONFIG_BTRFS_DEBUG so it
doesn't get used accidentally. Thanks,
Josef
Josef Bacik (11):
btrfs: add definition for EXTENT_TREE_V2
btrfs: disable balance for extent tree v2 for now
btrfs: disable device manipulation ioctl's EXTENT_TREE_V2
btrfs: disable qgroups in extent tree v2
btrfs: disable scrub for extent-tree-v2
btrfs: disable snapshot creation/deletion for extent tree v2
btrfs: disable space cache related mount options for extent tree v2
btrfs: tree-checker: don't fail on empty extent roots for extent tree
v2
btrfs: abstract out loading the tree root
btrfs: add code to support the block group root
btrfs: add support for multiple global roots
fs/btrfs/block-group.c | 25 ++++-
fs/btrfs/block-group.h | 1 +
fs/btrfs/ctree.h | 46 ++++++++-
fs/btrfs/disk-io.c | 178 +++++++++++++++++++++++---------
fs/btrfs/disk-io.h | 2 +
fs/btrfs/free-space-tree.c | 2 +
fs/btrfs/inode.c | 11 +-
fs/btrfs/ioctl.c | 29 ++++++
fs/btrfs/print-tree.c | 1 +
fs/btrfs/qgroup.c | 6 ++
fs/btrfs/super.c | 20 ++++
fs/btrfs/sysfs.c | 5 +-
fs/btrfs/transaction.c | 15 +++
fs/btrfs/tree-checker.c | 35 ++++++-
fs/btrfs/volumes.c | 11 ++
include/trace/events/btrfs.h | 1 +
include/uapi/linux/btrfs.h | 1 +
include/uapi/linux/btrfs_tree.h | 3 +
18 files changed, 333 insertions(+), 59 deletions(-)
--
2.26.3
next reply other threads:[~2021-12-15 20:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 20:39 Josef Bacik [this message]
2021-12-15 20:39 ` [PATCH v2 01/11] btrfs: add definition for EXTENT_TREE_V2 Josef Bacik
2021-12-15 20:39 ` [PATCH v2 02/11] btrfs: disable balance for extent tree v2 for now Josef Bacik
2021-12-15 20:40 ` [PATCH v2 03/11] btrfs: disable device manipulation ioctl's EXTENT_TREE_V2 Josef Bacik
2021-12-15 20:40 ` [PATCH v2 04/11] btrfs: disable qgroups in extent tree v2 Josef Bacik
2021-12-15 20:40 ` [PATCH v2 05/11] btrfs: disable scrub for extent-tree-v2 Josef Bacik
2021-12-15 20:40 ` [PATCH v2 06/11] btrfs: disable snapshot creation/deletion for extent tree v2 Josef Bacik
2021-12-15 20:40 ` [PATCH v2 07/11] btrfs: disable space cache related mount options " Josef Bacik
2021-12-15 20:40 ` [PATCH v2 08/11] btrfs: tree-checker: don't fail on empty extent roots " Josef Bacik
2021-12-15 20:40 ` [PATCH v2 09/11] btrfs: abstract out loading the tree root Josef Bacik
2022-01-13 9:20 ` Nikolay Borisov
2022-01-26 15:32 ` David Sterba
2021-12-15 20:40 ` [PATCH v2 10/11] btrfs: add code to support the block group root Josef Bacik
2022-01-12 15:16 ` Nikolay Borisov
2022-01-26 15:34 ` David Sterba
2022-01-26 15:58 ` Nikolay Borisov
2021-12-15 20:40 ` [PATCH v2 11/11] btrfs: add support for multiple global roots Josef Bacik
2022-01-12 15:09 ` [PATCH v2 00/11] btrfs: extent tree v2, support for " Nikolay Borisov
2022-01-26 15:52 ` David Sterba
2022-01-26 15:54 ` David Sterba
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=cover.1639600719.git.josef@toxicpanda.com \
--to=josef@toxicpanda.com \
--cc=kernel-team@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 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.