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 v3 00/15] btrfs: split out larger chunks of ctree.h
Date: Wed, 19 Oct 2022 10:50:46 -0400	[thread overview]
Message-ID: <cover.1666190849.git.josef@toxicpanda.com> (raw)

v2->v3:
- Merged the moving of the printk helpers out of ctree.h and then moving some of
  the larger helpers into their own c file into one patch.
- Moved the assert helper patch to before the printk moving patch so I don't
  move the code twice.
- Adjusted the commit log to indicate I was un-inlining the btrfs_map_token_init
  funciton.
- Added some missing newlines at the end of headers.

v1->v2:
- renamed btrfs-printk.h and item-accessors.* to messages.h and accessors.*.
- I dropped "btrfs: push extra checks into __btrfs_abort_transaction" so the
  WARN_ON would be where the abort happens.
- I reworked the incompat/compat get helpers to be defines instead of inlines to
  maintain the faster code instead of un-inlining the helper, and this way we
  have a little better header cleanliness.
- I gave up on my idea of having headers able to be included at any order at
  this point and made sure everything was included in the proper order.  Once
  things are completely split out we can go back through and try to make all the
  header files as clean as possible.

--- Original email ---
Hello,

This series is based on the series

  btrfs: initial ctree.h cleanups, simple stuff

which needs to be in place before applying these patches.

This is likely going to have the largest patch of the series, which bulk moves
all of the struct funcs defines out of ctree.h into their own file.  This isn't
really possible to do piecemeal like other changes because we're using macros
instead of functions.  However the code is well organized so it allows for a
bulk copy and paste, so is straightforward.

I've done my best with naming, but I'm open to suggestions.  My general plan is
to have all fs wide definitions in fs.h, and then separate out individual things
to their own headers.

The biggest things I've done in this series are

1. Move the printk helpers into their own files.
2. Move the main state flags and core fs helpers into their own files.
3. Moved the struct func definitions to their own files.

This is by no means complete, this is just the first big pass, but as you can
see is already 17 patches long.  Subsequent patches will move more code and do
more cleanups.  Thanks,

Josef

Josef Bacik (15):
  btrfs: move fs wide helpers out of ctree.h
  btrfs: move assert helpers out of ctree.h
  btrfs: move the printk helpers out of ctree.h
  btrfs: push printk index code into their respective helpers
  btrfs: move BTRFS_FS_STATE* defs and helpers to fs.h
  btrfs: convert incompat and compat flag test helpers to defines
  btrfs: move mount option definitions to fs.h
  btrfs: move fs_info->flags enum to fs.h
  btrfs: add a BTRFS_FS_NEED_TRANS_COMMIT flag
  btrfs: remove fs_info::pending_changes and related code
  btrfs: move the compat/incompat flag masks to fs.h
  btrfs: rename struct-funcs.c -> accessors.c
  btrfs: move btrfs_map_token to accessors
  btrfs: move accessor helpers into accessors.h
  btrfs: remove temporary btrfs_map_token declaration in ctree.h

 fs/btrfs/Makefile                        |    4 +-
 fs/btrfs/{struct-funcs.c => accessors.c} |   10 +
 fs/btrfs/accessors.h                     | 1105 ++++++++++++++
 fs/btrfs/backref.c                       |    2 +
 fs/btrfs/backref.h                       |    1 +
 fs/btrfs/block-group.c                   |    2 +
 fs/btrfs/block-rsv.c                     |    2 +
 fs/btrfs/check-integrity.c               |    2 +
 fs/btrfs/compression.c                   |    1 +
 fs/btrfs/ctree.c                         |    3 +
 fs/btrfs/ctree.h                         | 1782 +---------------------
 fs/btrfs/delalloc-space.c                |    2 +
 fs/btrfs/delayed-inode.c                 |    6 +-
 fs/btrfs/delayed-ref.c                   |    2 +
 fs/btrfs/dev-replace.c                   |    2 +
 fs/btrfs/dir-item.c                      |    2 +
 fs/btrfs/discard.c                       |    1 +
 fs/btrfs/disk-io.c                       |    8 +-
 fs/btrfs/export.c                        |    1 +
 fs/btrfs/extent-io-tree.c                |    1 +
 fs/btrfs/extent-tree.c                   |    2 +
 fs/btrfs/extent_io.c                     |    2 +
 fs/btrfs/extent_map.c                    |    1 +
 fs/btrfs/file-item.c                     |    3 +
 fs/btrfs/file.c                          |    2 +
 fs/btrfs/free-space-cache.c              |    6 +-
 fs/btrfs/free-space-tree.c               |    3 +
 fs/btrfs/fs.c                            |   94 ++
 fs/btrfs/fs.h                            |  322 ++++
 fs/btrfs/inode-item.c                    |    3 +
 fs/btrfs/inode.c                         |    2 +
 fs/btrfs/ioctl.c                         |    2 +
 fs/btrfs/locking.c                       |    1 +
 fs/btrfs/lzo.c                           |    1 +
 fs/btrfs/messages.h                      |  229 +++
 fs/btrfs/ordered-data.c                  |    1 +
 fs/btrfs/print-tree.c                    |    2 +
 fs/btrfs/props.c                         |    3 +
 fs/btrfs/qgroup.c                        |    2 +
 fs/btrfs/raid56.c                        |    1 +
 fs/btrfs/ref-verify.c                    |    3 +
 fs/btrfs/reflink.c                       |    5 +-
 fs/btrfs/relocation.c                    |    2 +
 fs/btrfs/root-tree.c                     |    4 +
 fs/btrfs/scrub.c                         |    2 +
 fs/btrfs/send.c                          |    1 +
 fs/btrfs/space-info.c                    |    2 +
 fs/btrfs/subpage.c                       |    1 +
 fs/btrfs/super.c                         |   32 +-
 fs/btrfs/sysfs.c                         |    7 +-
 fs/btrfs/tests/btrfs-tests.c             |    1 +
 fs/btrfs/tests/extent-buffer-tests.c     |    1 +
 fs/btrfs/tests/free-space-tree-tests.c   |    1 +
 fs/btrfs/tests/inode-tests.c             |    1 +
 fs/btrfs/tests/qgroup-tests.c            |    2 +
 fs/btrfs/transaction.c                   |   29 +-
 fs/btrfs/transaction.h                   |    1 -
 fs/btrfs/tree-checker.c                  |    3 +
 fs/btrfs/tree-defrag.c                   |    1 +
 fs/btrfs/tree-log.c                      |    2 +
 fs/btrfs/tree-log.h                      |    1 +
 fs/btrfs/tree-mod-log.c                  |    3 +
 fs/btrfs/ulist.c                         |    1 +
 fs/btrfs/uuid-tree.c                     |    4 +-
 fs/btrfs/verity.c                        |    3 +
 fs/btrfs/volumes.c                       |    2 +
 fs/btrfs/xattr.c                         |    3 +
 fs/btrfs/zoned.c                         |    2 +
 fs/btrfs/zoned.h                         |    1 +
 69 files changed, 1919 insertions(+), 1823 deletions(-)
 rename fs/btrfs/{struct-funcs.c => accessors.c} (96%)
 create mode 100644 fs/btrfs/accessors.h
 create mode 100644 fs/btrfs/fs.c
 create mode 100644 fs/btrfs/fs.h
 create mode 100644 fs/btrfs/messages.h

-- 
2.26.3


             reply	other threads:[~2022-10-19 14:57 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 14:50 Josef Bacik [this message]
2022-10-19 14:50 ` [PATCH v3 01/15] btrfs: move fs wide helpers out of ctree.h Josef Bacik
2022-10-20  6:08   ` Johannes Thumshirn
2022-10-21  6:11   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 02/15] btrfs: move assert " Josef Bacik
2022-10-20  6:09   ` Johannes Thumshirn
2022-10-20 15:49   ` David Sterba
2022-10-20 15:52     ` David Sterba
2022-10-19 14:50 ` [PATCH v3 03/15] btrfs: move the printk " Josef Bacik
2022-10-20  6:16   ` Johannes Thumshirn
2022-10-19 14:50 ` [PATCH v3 04/15] btrfs: push printk index code into their respective helpers Josef Bacik
2022-10-19 14:50 ` [PATCH v3 05/15] btrfs: move BTRFS_FS_STATE* defs and helpers to fs.h Josef Bacik
2022-10-19 14:50 ` [PATCH v3 06/15] btrfs: convert incompat and compat flag test helpers to defines Josef Bacik
2022-10-19 14:50 ` [PATCH v3 07/15] btrfs: move mount option definitions to fs.h Josef Bacik
2022-10-21  7:13   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 08/15] btrfs: move fs_info->flags enum " Josef Bacik
2022-10-21  6:57   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 09/15] btrfs: add a BTRFS_FS_NEED_TRANS_COMMIT flag Josef Bacik
2022-10-21  6:03   ` Anand Jain
2022-10-21  7:14     ` David Sterba
2022-10-19 14:50 ` [PATCH v3 10/15] btrfs: remove fs_info::pending_changes and related code Josef Bacik
2022-10-21  7:24   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 11/15] btrfs: move the compat/incompat flag masks to fs.h Josef Bacik
2022-10-21  7:16   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 12/15] btrfs: rename struct-funcs.c -> accessors.c Josef Bacik
2022-10-21  7:29   ` Anand Jain
2022-10-19 14:50 ` [PATCH v3 13/15] btrfs: move btrfs_map_token to accessors Josef Bacik
2022-10-20  6:22   ` Johannes Thumshirn
2022-10-19 14:51 ` [PATCH v3 14/15] btrfs: move accessor helpers into accessors.h Josef Bacik
2022-10-19 14:51 ` [PATCH v3 15/15] btrfs: remove temporary btrfs_map_token declaration in ctree.h Josef Bacik
2022-10-20  6:23   ` Johannes Thumshirn
2022-10-21  7:25   ` Anand Jain
2022-10-20 16:29 ` [PATCH v3 00/15] btrfs: split out larger chunks of ctree.h 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.1666190849.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).