Merge tag 'repair-prep-for-bulk-loading-6.8_2023-12-15' of https://git.kernel.org...
authorChandan Babu R <chandanbabu@kernel.org>
Sat, 16 Dec 2023 02:57:42 +0000 (08:27 +0530)
committerChandan Babu R <chandanbabu@kernel.org>
Sat, 16 Dec 2023 02:57:42 +0000 (08:27 +0530)
commit5e60ca3fada4f31ce2916102d7fd3807f764ad56
tree6e817d7ada375e76eb98e27bd45d797c5e2a72d5
parent0573676fdde7ce3829ee6a42a8e5a56355234712
parente069d549705e49841247acf9b3176744e27d5425
Merge tag 'repair-prep-for-bulk-loading-6.8_2023-12-15' of https://git./linux/kernel/git/djwong/xfs-linux into xfs-6.8-mergeB

xfs: prepare repair for bulk loading

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.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
* tag 'repair-prep-for-bulk-loading-6.8_2023-12-15' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux:
  xfs: constrain dirty buffers while formatting a staged btree
  xfs: move btree bulkload record initialization to ->get_record implementations
  xfs: add debug knobs to control btree bulk load slack factors
  xfs: read leaf blocks when computing keys for bulkloading into node blocks
  xfs: set XBF_DONE on newly formatted btree block that are ready for writing
  xfs: force all buffers to be written during btree bulk load