public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 0/6] btrfs: extent-tree-v2, gc and no meta ref counting
Date: Mon,  7 Mar 2022 17:04:21 -0500	[thread overview]
Message-ID: <cover.1646690555.git.josef@toxicpanda.com> (raw)

v1->v2:
- I decided to add the nr of expected global roots to the super block to make
  checking more straightforward, so added a patch for reading that value.
- I sent the prep patches/fixes in a different series and those were merged, so
  dropped them from this series

--- Original email ---

Hello,

This is the kernel side of the support for the GC trees and no longer tracking
metadata reference counts.

For the GC tree we're only implementing offloading the truncate to the GC tree
for now.  As new support is added we'll add code for the garbage collection for
each of the new operations.  Truncate was picked because it's simple enough to
do, gets us a nice latency win on normal workloads, and is a quick way to
validate that the GC tree is doing what it's supposed to.

This also disables the reference counting of metadata blocks.  Snapshotting and
everything reference counting related to metadata has been disabled, and will be
turned back on as the code needed to support those operations is added back.

This survives xfstests without blowing up.  Thanks,

Josef

Josef Bacik (6):
  btrfs: read the nr_global_roots from the super block
  btrfs: don't do backref modification for metadata for extent tree v2
  btrfs: add definitions and read support for the garbage collection
    tree
  btrfs: add a btrfs_first_item helper
  btrfs: turn evict_refill_and_join into a real helper
  btrfs: add garbage collection tree support

 fs/btrfs/Makefile               |   2 +-
 fs/btrfs/ctree.c                |  23 ++++
 fs/btrfs/ctree.h                |  19 ++-
 fs/btrfs/disk-io.c              |  37 ++++--
 fs/btrfs/extent-tree.c          |  13 +-
 fs/btrfs/gc-tree.c              | 223 ++++++++++++++++++++++++++++++++
 fs/btrfs/gc-tree.h              |  15 +++
 fs/btrfs/inode.c                |  65 +++-------
 fs/btrfs/print-tree.c           |   4 +
 fs/btrfs/space-info.c           |   4 +-
 fs/btrfs/transaction.c          |  52 ++++++++
 fs/btrfs/transaction.h          |   2 +
 include/uapi/linux/btrfs_tree.h |   6 +
 13 files changed, 394 insertions(+), 71 deletions(-)
 create mode 100644 fs/btrfs/gc-tree.c
 create mode 100644 fs/btrfs/gc-tree.h

-- 
2.26.3


             reply	other threads:[~2022-03-07 22:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-07 22:04 Josef Bacik [this message]
2022-03-07 22:04 ` [PATCH v2 1/6] btrfs: read the nr_global_roots from the super block Josef Bacik
2022-03-07 22:04 ` [PATCH v2 2/6] btrfs: don't do backref modification for metadata for extent tree v2 Josef Bacik
2022-03-07 22:04 ` [PATCH v2 3/6] btrfs: add definitions and read support for the garbage collection tree Josef Bacik
2022-03-07 22:04 ` [PATCH v2 4/6] btrfs: add a btrfs_first_item helper Josef Bacik
2022-03-07 22:04 ` [PATCH v2 5/6] btrfs: turn evict_refill_and_join into a real helper Josef Bacik
2022-03-07 22:04 ` [PATCH v2 6/6] btrfs: add garbage collection tree support Josef Bacik

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.1646690555.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox