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 v4 00/10] prep and initial sync of kernel code
Date: Fri,  2 Dec 2022 11:23:22 -0500	[thread overview]
Message-ID: <cover.1669998153.git.josef@toxicpanda.com> (raw)

v3->v4:
 - Rebased onto devel and dropped all the prep patches that have been merged.
 - Sync'ed some of the ioctl.h changes into btrfs.h in the kernel, and then
   synced the result into btrfs-progs.

v2->v3:
 - A bunch of new prep patches to enable extent-io-tree.c to be sync'ed.
 - make clean wasn't actually cleaning convert properly, which resulted in some
   compile errors that I also fixed.
 - Made a copy of ioctl.h in libbtrfs for snapper, made sure that code used that
   version of ioctl.h instead of btrfs.h.
 - Sync'ed file-item.h, async-thread.[ch] and extent-io-tree.[ch] as well.

v1->v2:
 - Updated a couple other qgroup helpers that I missed.
 - Added a macro for KERN_WARNING that I missed.
 - A couple of cleanups to enable accessors.[ch] to be sync'ed easier.
 - Sync'ing accessors.[ch] as well.

--- Original email ----
Hello,

In order to make my extent tree v2 work easier I need to sync the kernel code
into btrfs-progs.  We haven't done this in a while, and really I want to move
towards doing this every release.  Unfortunately because we haven't done this in
a while it's going to be a little messy.  This is the first patch of patches,
which is mostly prep work, and then syncing the easiest parts of the kernel that
I could manage.

I've almost got accessors.[ch] done, however it requires doing some cleanups and
moving around in the kernel to make it smooth and easy, and I wasn't able to get
those done fast enough this week.

I've taken the approach of marking functions that I have to change things with

/*
 * MODIFIED:
 *  - List of things I changed.
 */

Some of these I did because btrfs-progs simply does things differently.  Some of
these were done because they have dependencies from other things in the kernel
sources, and it was simpler to just change it for now, get everything sync'ed,
and then go back and clean things up after the fact.

I've tried to make this as painless as possible, but it's just a painful
operation.  That being said if I've done something in a way that is confusing
or just too complicated please point it out to me and I can try alternative
strategies.  Thanks,

Josef

Josef Bacik (10):
  btrfs-progs: sync uapi/btrfs.h into btrfs-progs
  btrfs-progs: make the find extent buffer helpers take fs_info
  btrfs-progs: move extent cache code directly into btrfs_fs_info
  btrfs-progs: sync ondisk definitions from the kernel
  btrfs-progs: sync compression.h from the kernel
  btrfs-progs: sync messages.* from the kernel
  btrfs-progs: sync accessors.[ch] from the kernel
  btrfs-progs: sync file-item.h into progs
  btrfs-progs: sync async-thread.[ch] from the kernel
  btrfs-progs: sync extent-io-tree.[ch] and misc.h from the kernel

 Makefile                              |    4 +
 btrfs-corrupt-block.c                 |    4 +-
 btrfs-fragments.c                     |    2 +-
 btrfstune.c                           |    4 +-
 check/clear-cache.c                   |   16 +-
 check/common.h                        |    2 +-
 check/main.c                          |   35 +-
 check/mode-common.c                   |   20 +-
 check/mode-lowmem.c                   |   12 +-
 check/repair.c                        |   16 +-
 cmds/balance.c                        |    2 +-
 cmds/device.c                         |    2 +-
 cmds/filesystem-du.c                  |    1 +
 cmds/filesystem-usage.c               |    1 +
 cmds/filesystem-usage.h               |    2 +-
 cmds/filesystem.c                     |    2 +-
 cmds/inspect-tree-stats.c             |    1 +
 cmds/inspect.c                        |    2 +-
 cmds/property.c                       |    2 +-
 cmds/qgroup.c                         |    3 +-
 cmds/qgroup.h                         |    2 +-
 cmds/quota.c                          |    2 +-
 cmds/receive.c                        |    2 +-
 cmds/replace.c                        |    3 +-
 cmds/rescue-chunk-recover.c           |    5 +-
 cmds/rescue.c                         |    1 +
 cmds/restore.c                        |    3 +-
 cmds/scrub.c                          |    2 +-
 cmds/send.c                           |    2 +-
 cmds/subvolume-list.c                 |    3 +-
 cmds/subvolume.c                      |    2 +-
 common/device-scan.c                  |    2 +-
 common/device-scan.h                  |    2 +-
 common/fsfeatures.c                   |    2 +-
 common/internal.h                     |    4 +
 common/send-stream.c                  |    2 +-
 common/send-utils.c                   |    2 +-
 common/units.c                        |    1 +
 common/utils.c                        |    2 +-
 common/utils.h                        |    2 +-
 convert/common.c                      |    3 +-
 convert/main.c                        |    2 +
 convert/source-ext2.c                 |    2 +
 image/main.c                          |   13 +-
 kerncompat.h                          |  285 +++-
 kernel-lib/bitops.h                   |   12 +
 kernel-lib/trace.h                    |   55 +
 kernel-shared/accessors.c             |  117 ++
 kernel-shared/accessors.h             | 1087 ++++++++++++++
 kernel-shared/async-thread.c          |  339 +++++
 kernel-shared/async-thread.h          |   46 +
 kernel-shared/backref.c               |    1 +
 kernel-shared/ctree.h                 | 1885 +------------------------
 kernel-shared/delayed-ref.c           |    1 +
 kernel-shared/dir-item.c              |    8 +-
 kernel-shared/disk-io.c               |   16 +-
 kernel-shared/extent-io-tree.c        | 1733 +++++++++++++++++++++++
 kernel-shared/extent-io-tree.h        |  239 ++++
 kernel-shared/extent-tree.c           |   52 +-
 kernel-shared/extent_io.c             |  474 +------
 kernel-shared/extent_io.h             |   39 +-
 kernel-shared/file-item.c             |   13 +-
 kernel-shared/file-item.h             |   89 ++
 kernel-shared/file.c                  |    1 +
 kernel-shared/free-space-tree.c       |    1 +
 kernel-shared/inode.c                 |    2 +-
 kernel-shared/messages.c              |  372 +++++
 kernel-shared/messages.h              |  253 ++++
 kernel-shared/misc.h                  |  143 ++
 kernel-shared/print-tree.c            |   17 +-
 kernel-shared/transaction.c           |   10 +-
 kernel-shared/transaction.h           |    1 -
 ioctl.h => kernel-shared/uapi/btrfs.h |  564 +++++---
 kernel-shared/uapi/btrfs_tree.h       | 1259 +++++++++++++++++
 kernel-shared/ulist.c                 |    1 +
 kernel-shared/zoned.h                 |    1 +
 libbtrfs/ctree.h                      |   15 +
 mkfs/common.c                         |    3 +-
 mkfs/main.c                           |    1 +
 mkfs/rootdir.c                        |    1 +
 tests/ioctl-test.c                    |    2 +-
 tests/library-test.c                  |    2 +-
 82 files changed, 6577 insertions(+), 2762 deletions(-)
 create mode 100644 kernel-lib/trace.h
 create mode 100644 kernel-shared/accessors.c
 create mode 100644 kernel-shared/accessors.h
 create mode 100644 kernel-shared/async-thread.c
 create mode 100644 kernel-shared/async-thread.h
 create mode 100644 kernel-shared/extent-io-tree.c
 create mode 100644 kernel-shared/extent-io-tree.h
 create mode 100644 kernel-shared/file-item.h
 create mode 100644 kernel-shared/messages.c
 create mode 100644 kernel-shared/messages.h
 create mode 100644 kernel-shared/misc.h
 rename ioctl.h => kernel-shared/uapi/btrfs.h (71%)
 create mode 100644 kernel-shared/uapi/btrfs_tree.h

-- 
2.26.3


             reply	other threads:[~2022-12-02 16:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-02 16:23 Josef Bacik [this message]
2022-12-02 16:23 ` [PATCH v4 01/10] btrfs-progs: sync uapi/btrfs.h into btrfs-progs Josef Bacik
2022-12-02 16:23 ` [PATCH v4 02/10] btrfs-progs: make the find extent buffer helpers take fs_info Josef Bacik
2022-12-02 16:23 ` [PATCH v4 03/10] btrfs-progs: move extent cache code directly into btrfs_fs_info Josef Bacik
2022-12-02 16:23 ` [PATCH v4 04/10] btrfs-progs: sync ondisk definitions from the kernel Josef Bacik
2022-12-02 16:23 ` [PATCH v4 05/10] btrfs-progs: sync compression.h " Josef Bacik
2022-12-02 16:23 ` [PATCH v4 06/10] btrfs-progs: sync messages.* " Josef Bacik
2022-12-02 16:23 ` [PATCH v4 07/10] btrfs-progs: sync accessors.[ch] " Josef Bacik
2022-12-02 16:23 ` [PATCH v4 08/10] btrfs-progs: sync file-item.h into progs Josef Bacik
2022-12-02 16:23 ` [PATCH v4 09/10] btrfs-progs: sync async-thread.[ch] from the kernel Josef Bacik
2022-12-02 16:23 ` [PATCH v4 10/10] btrfs-progs: sync extent-io-tree.[ch] and misc.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.1669998153.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