From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 00/16] btrfs: split out larger chunks of ctree.h
Date: Mon, 17 Oct 2022 15:08:57 -0400 [thread overview]
Message-ID: <cover.1666033501.git.josef@toxicpanda.com> (raw)
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 Bacik (16):
btrfs: move fs wide helpers out of ctree.h
btrfs: move larger compat flag helpers to their own c file
btrfs: move the printk helpers out of ctree.h
btrfs: move assert and error helpers out of messages.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 | 1104 ++++++++++++++
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 | 226 +++
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 | 34 +-
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, 1916 insertions(+), 1824 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
next reply other threads:[~2022-10-17 19:09 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-17 19:08 Josef Bacik [this message]
2022-10-17 19:08 ` [PATCH v2 01/16] btrfs: move fs wide helpers out of ctree.h Josef Bacik
2022-10-17 19:08 ` [PATCH v2 02/16] btrfs: move larger compat flag helpers to their own c file Josef Bacik
2022-10-18 7:42 ` Johannes Thumshirn
2022-10-18 14:27 ` Josef Bacik
2022-10-17 19:09 ` [PATCH v2 03/16] btrfs: move the printk helpers out of ctree.h Josef Bacik
2022-10-17 19:09 ` [PATCH v2 04/16] btrfs: move assert and error helpers out of messages.h Josef Bacik
2022-10-18 12:58 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 05/16] btrfs: push printk index code into their respective helpers Josef Bacik
2022-10-17 19:09 ` [PATCH v2 06/16] btrfs: move BTRFS_FS_STATE* defs and helpers to fs.h Josef Bacik
2022-10-18 13:02 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 07/16] btrfs: convert incompat and compat flag test helpers to defines Josef Bacik
2022-10-18 14:43 ` David Sterba
2022-10-17 19:09 ` [PATCH v2 08/16] btrfs: move mount option definitions to fs.h Josef Bacik
2022-10-18 13:01 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 09/16] btrfs: move fs_info->flags enum " Josef Bacik
2022-10-18 13:03 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 10/16] btrfs: add a BTRFS_FS_NEED_TRANS_COMMIT flag Josef Bacik
2022-10-18 13:04 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 11/16] btrfs: remove fs_info::pending_changes and related code Josef Bacik
2022-10-18 13:09 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 12/16] btrfs: move the compat/incompat flag masks to fs.h Josef Bacik
2022-10-18 13:10 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 13/16] btrfs: rename struct-funcs.c -> accessors.c Josef Bacik
2022-10-18 13:12 ` Johannes Thumshirn
2022-10-17 19:09 ` [PATCH v2 14/16] btrfs: move btrfs_map_token to accessors Josef Bacik
2022-10-18 14:47 ` David Sterba
2022-10-17 19:09 ` [PATCH v2 15/16] btrfs: move accessor helpers into accessors.h Josef Bacik
2022-10-17 19:09 ` [PATCH v2 16/16] btrfs: remove temporary btrfs_map_token declaration in ctree.h 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.1666033501.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).