linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 00/10] btrfs-progs: mkfs fixes and prep work for extent tree v2
Date: Mon, 23 Aug 2021 16:14:45 -0400	[thread overview]
Message-ID: <cover.1629749291.git.josef@toxicpanda.com> (raw)

v1->v2:
- Rebase onto devel+block group used patches.
- Dropped MKFS_SUPER_BLOCK as suggested by Qu.
- Make sure to recow the free space root now that we're generating it at
  make_btrfs() time.
- Rewored the titles to include the target area.
- Dropped "btrfs-progs: allocate blocks from the start of the temp system chunk"
  as it is no longer needed with the MKFS_SUPER_BLOCK dropping.
- Add a patch to make sure ->ref_cows and ->track_dirty is set properly on roots
  if we read roots directly.

--- Original email ---
Hello,

In order to reduce the amount of pain the reviewers have to endure I'm going to
be sending any prepatory patches separately from the actual feature work.

To that end this is the first batch of preparatory patches.  These are to make
working with mkfs a lot easier for the changes I'm making.  These are all fixes
or enhancements that can apply currently.  The only thing that is extent tree v2
specific is the last patch, which adds the incompat flag.

I've added the patch for the incompat flag because I will have other preparatory
patches that add helpers that essentially do

if (!btrfs_fs_incompat(fs_info, EXTENT_TREE_V2))
	/* Do the old thing. */

and then have patches after that add the extent tree v2 magic.  I think this
will make it easier to break up the work, but if we're not comfortable reserving
the bit then I'm fine with dropping that last patch.  It will just mean future
prep work will have to come along with the feature enablement patches.

I've tested this with make test to validate I didn't break anything.  Thanks,

Josef

Josef Bacik (10):
  btrfs-progs: mkfs: use an associative array for init blocks
  btrfs-progs: mkfs: get rid of MKFS_SUPER_BLOCK
  btrfs-progs: mkfs: use blocks_nr to determine the super used bytes
  btrfs-progs: mkfs: set nritems based on root items written
  btrfs-progs: mkfs: add helper for writing empty tree nodes
  btrfs-progs: make sure track_dirty and ref_cows is set properly
  btrfs-progs: mkfs: add the block group item in make_btrfs()
  btrfs-progs: add add_block_group_free_space helper
  btrfs-progs: mkfs: generate free space tree at make_btrfs() time
  btrfs-progs: add the incompat flag for extent tree v2

 kernel-shared/ctree.h           |   1 +
 kernel-shared/disk-io.c         |   5 +-
 kernel-shared/extent-tree.c     |   2 +
 kernel-shared/free-space-tree.c |  26 ++++
 kernel-shared/free-space-tree.h |   2 +
 mkfs/common.c                   | 212 ++++++++++++++++++++++++--------
 mkfs/common.h                   |  19 ++-
 mkfs/main.c                     |  24 ++--
 8 files changed, 224 insertions(+), 67 deletions(-)

-- 
2.26.3


             reply	other threads:[~2021-08-23 20:15 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-23 20:14 Josef Bacik [this message]
2021-08-23 20:14 ` [PATCH v2 01/10] btrfs-progs: mkfs: use an associative array for init blocks Josef Bacik
2021-08-23 20:14 ` [PATCH v2 02/10] btrfs-progs: mkfs: get rid of MKFS_SUPER_BLOCK Josef Bacik
2021-08-23 20:14 ` [PATCH v2 03/10] btrfs-progs: mkfs: use blocks_nr to determine the super used bytes Josef Bacik
2021-08-23 20:14 ` [PATCH v2 04/10] btrfs-progs: mkfs: set nritems based on root items written Josef Bacik
2021-08-23 20:14 ` [PATCH v2 05/10] btrfs-progs: mkfs: add helper for writing empty tree nodes Josef Bacik
2021-08-23 20:14 ` [PATCH v2 06/10] btrfs-progs: make sure track_dirty and ref_cows is set properly Josef Bacik
2021-08-23 20:14 ` [PATCH v2 07/10] btrfs-progs: mkfs: add the block group item in make_btrfs() Josef Bacik
2021-08-23 20:14 ` [PATCH v2 08/10] btrfs-progs: add add_block_group_free_space helper Josef Bacik
2021-08-23 20:14 ` [PATCH v2 09/10] btrfs-progs: mkfs: generate free space tree at make_btrfs() time Josef Bacik
2021-10-11  1:24   ` Qu Wenruo
2021-08-23 20:14 ` [PATCH v2 10/10] btrfs-progs: add the incompat flag for extent tree v2 Josef Bacik
2021-08-25 13:58 ` [PATCH v2 00/10] btrfs-progs: mkfs fixes and prep work " David Sterba
2021-09-03 13:53   ` David Sterba
2021-10-11 18:35   ` Goffredo Baroncelli
2021-10-11 18:47     ` David Sterba
2021-10-11 19:39       ` Goffredo Baroncelli

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.1629749291.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;
as well as URLs for NNTP newsgroup(s).