mbox series

[v2,00/16] btrfs: split out larger chunks of ctree.h

Message ID cover.1666033501.git.josef@toxicpanda.com (mailing list archive)
Headers show
Series btrfs: split out larger chunks of ctree.h | expand

Message

Josef Bacik Oct. 17, 2022, 7:08 p.m. UTC
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