[GIT PULL 1/6] xfs: prepare repair for bulk loading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chandan,

Please pull this branch with changes for xfs for 6.8-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 0573676fdde7ce3829ee6a42a8e5a56355234712:

xfs: initialise di_crc in xfs_log_dinode (2023-12-15 09:33:29 +0530)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/repair-prep-for-bulk-loading-6.8_2023-12-15

for you to fetch changes up to e069d549705e49841247acf9b3176744e27d5425:

xfs: constrain dirty buffers while formatting a staged btree (2023-12-15 10:03:29 -0800)

----------------------------------------------------------------
xfs: prepare repair for bulk loading [v28.3]

Before we start merging the online repair functions, let's improve the
bulk loading code a bit.  First, we need to fix a misinteraction between
the AIL and the btree bulkloader wherein the delwri at the end of the
bulk load fails to queue a buffer for writeback if it happens to be on
the AIL list.

Second, we introduce a defer ops barrier object so that the process of
reaping blocks after a repair cannot queue more than two extents per EFI
log item.  This increases our exposure to leaking blocks if the system
goes down during a reap, but also should prevent transaction overflows,
which result in the system going down.

Third, we change the bulkloader itself to copy multiple records into a
block if possible, and add some debugging knobs so that developers can
control the slack factors, just like they can do for xfs_repair.

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

Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>

----------------------------------------------------------------
Darrick J. Wong (6):
xfs: force all buffers to be written during btree bulk load
xfs: set XBF_DONE on newly formatted btree block that are ready for writing
xfs: read leaf blocks when computing keys for bulkloading into node blocks
xfs: add debug knobs to control btree bulk load slack factors
xfs: move btree bulkload record initialization to ->get_record implementations
xfs: constrain dirty buffers while formatting a staged btree

fs/xfs/libxfs/xfs_btree.c         |  2 +-
fs/xfs/libxfs/xfs_btree.h         |  3 ++
fs/xfs/libxfs/xfs_btree_staging.c | 78 ++++++++++++++++++++++++++++-----------
fs/xfs/libxfs/xfs_btree_staging.h | 25 ++++++++++---
fs/xfs/scrub/newbt.c              | 12 ++++--
fs/xfs/xfs_buf.c                  | 44 ++++++++++++++++++++--
fs/xfs/xfs_buf.h                  |  1 +
fs/xfs/xfs_globals.c              | 12 ++++++
fs/xfs/xfs_sysctl.h               |  2 +
fs/xfs/xfs_sysfs.c                | 54 +++++++++++++++++++++++++++
10 files changed, 198 insertions(+), 35 deletions(-)





[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux