mbox series

[GIT,PULL,4/8] mkfs: make protofiles less janky

Message ID 173498954369.2301496.13273620410007793210.stg-ugh@frogsfrogsfrogs (mailing list archive)
State New
Headers show
Series [GIT,PULL,1/8] xfsprogs: bug fixes for 6.12 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/protofiles_2024-12-23

Message

Darrick J. Wong Dec. 23, 2024, 10:28 p.m. UTC
Hi Andrey,

Please pull this branch with changes for xfsprogs for 6.11-rc1.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

--D

The following changes since commit cbb4fe589532389c8ae6a4e3018707d493b8c5f3:

mkfs.xfs: enable metadata directories (2024-12-23 13:05:10 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/protofiles_2024-12-23

for you to fetch changes up to 513300e9565b0d446ac8e6a3a990444d766c728b:

mkfs: add a utility to generate protofiles (2024-12-23 13:05:10 -0800)

----------------------------------------------------------------
mkfs: make protofiles less janky [v6.2 04/23]

Here are some minor improvements to the protofile code in mkfs.  First,
we improve the file copy-in code to avoid allocating gigantic heap
buffers by replacing it with a SEEK_{DATA,HOLE} loop and only copying
a fixed size buffer.  Next, we add the ability to pull in extended
attributes.  Finally, we add a program to generate a protofile from a
directory tree.

Originally this code refactoring was intended to support more efficient
construction of rt bitmap and summary files, but that was subsequently
refactored into libxfs.  However, the cleanups still make the protofile
code less disgusting, so they're being submitted anyway.

This has been running on the djcloud for months with no problems.  Enjoy!

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (4):
libxfs: resync libxfs_alloc_file_space interface with the kernel
mkfs: support copying in large or sparse files
mkfs: support copying in xattrs
mkfs: add a utility to generate protofiles

include/libxfs.h         |   6 +-
libxfs/util.c            | 207 +++++++++++++++++++++++++++---------
man/man8/xfs_protofile.8 |  33 ++++++
mkfs/Makefile            |  10 +-
mkfs/proto.c             | 269 +++++++++++++++++++++++++++++++++++------------
mkfs/xfs_protofile.in    | 152 ++++++++++++++++++++++++++
6 files changed, 557 insertions(+), 120 deletions(-)
create mode 100644 man/man8/xfs_protofile.8
create mode 100644 mkfs/xfs_protofile.in