Skip to content

Commit 12958e9

Browse files
committed
Merge tag 'xfs-6.8-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs updates from Chandan Babu: "New features/functionality: - Online repair: - Reserve disk space for online repairs - Fix misinteraction between the AIL and btree bulkloader because of which the bulk load fails to queue a buffer for writeback if it happens to be on the AIL list - Prevent transaction reservation overflows when reaping blocks during online repair - Whenever possible, bulkloader now copies multiple records into a block - Support repairing of 1. Per-AG free space, inode and refcount btrees 2. Ondisk inodes 3. File data and attribute fork mappings - Verify the contents of 1. Inode and data fork of realtime bitmap file 2. Quota files - Introduce MF_MEM_PRE_REMOVE. This will be used to notify tasks about a pmem device being removed Bug fixes: - Fix memory leak of recovered attri intent items - Fix UAF during log intent recovery - Fix realtime geometry integer overflows - Prevent scrub from live locking in xchk_iget - Prevent fs shutdown when removing files during low free disk space - Prevent transaction reservation overflow when extending an RT device - Prevent incorrect warning from being printed when extending a filesystem - Fix an off-by-one error in xreap_agextent_binval - Serialize access to perag radix tree during deletion operation - Fix perag memory leak during growfs - Allow allocation of minlen realtime extent when the maximum sized realtime free extent is minlen in size Cleanups: - Remove duplicate boilerplate code spread across functionality associated with different log items - Cleanup resblks interfaces - Pass defer ops pointer to defer helpers instead of an enum - Initialize di_crc in xfs_log_dinode to prevent KMSAN warnings - Use static_assert() instead of BUILD_BUG_ON_MSG() to validate size of structures and structure member offsets. This is done in order to be able to share the code with userspace - Move XFS documentation under a new directory specific to XFS - Do not invoke deferred ops' ->create_done callback if the deferred operation does not have an intent item associated with it - Remove duplicate inclusion of header files from scrub/health.c - Refactor Realtime code - Cleanup attr code" * tag 'xfs-6.8-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (123 commits) xfs: use the op name in trace_xlog_intent_recovery_failed xfs: fix a use after free in xfs_defer_finish_recovery xfs: turn the XFS_DA_OP_REPLACE checks in xfs_attr_shortform_addname into asserts xfs: remove xfs_attr_sf_hdr_t xfs: remove struct xfs_attr_shortform xfs: use xfs_attr_sf_findname in xfs_attr_shortform_getvalue xfs: remove xfs_attr_shortform_lookup xfs: simplify xfs_attr_sf_findname xfs: move the xfs_attr_sf_lookup tracepoint xfs: return if_data from xfs_idata_realloc xfs: make if_data a void pointer xfs: fold xfs_rtallocate_extent into xfs_bmap_rtalloc xfs: simplify and optimize the RT allocation fallback cascade xfs: reorder the minlen and prod calculations in xfs_bmap_rtalloc xfs: remove XFS_RTMIN/XFS_RTMAX xfs: remove rt-wrappers from xfs_format.h xfs: factor out a xfs_rtalloc_sumlevel helper xfs: tidy up xfs_rtallocate_extent_exact xfs: merge the calls to xfs_rtallocate_range in xfs_rtallocate_block xfs: reflow the tail end of xfs_rtallocate_extent_block ...
2 parents 32720ac + bcdfae6 commit 12958e9

146 files changed

Lines changed: 12727 additions & 2943 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/filesystems/index.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,5 @@ Documentation for filesystem implementations.
121121
udf
122122
virtiofs
123123
vfat
124-
xfs-delayed-logging-design
125-
xfs-maintainer-entry-profile
126-
xfs-self-describing-metadata
127-
xfs-online-fsck-design
124+
xfs/index
128125
zonefs
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
============================
4+
XFS Filesystem Documentation
5+
============================
6+
7+
.. toctree::
8+
:maxdepth: 2
9+
:numbered:
10+
11+
xfs-delayed-logging-design
12+
xfs-maintainer-entry-profile
13+
xfs-self-describing-metadata
14+
xfs-online-fsck-design

Documentation/filesystems/xfs-delayed-logging-design.rst renamed to Documentation/filesystems/xfs/xfs-delayed-logging-design.rst

File renamed without changes.

Documentation/filesystems/xfs-maintainer-entry-profile.rst renamed to Documentation/filesystems/xfs/xfs-maintainer-entry-profile.rst

File renamed without changes.

Documentation/filesystems/xfs-online-fsck-design.rst renamed to Documentation/filesystems/xfs/xfs-online-fsck-design.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -962,7 +962,7 @@ disk, but these buffer verifiers cannot provide any consistency checking
962962
between metadata structures.
963963

964964
For more information, please see the documentation for
965-
Documentation/filesystems/xfs-self-describing-metadata.rst
965+
Documentation/filesystems/xfs/xfs-self-describing-metadata.rst
966966

967967
Reverse Mapping
968968
---------------

Documentation/filesystems/xfs-self-describing-metadata.rst renamed to Documentation/filesystems/xfs/xfs-self-describing-metadata.rst

File renamed without changes.

Documentation/maintainer/maintainer-entry-profile.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,4 @@ to do something different in the near future.
105105
../driver-api/media/maintainer-entry-profile
106106
../driver-api/vfio-pci-device-specific-driver-acceptance
107107
../nvme/feature-and-quirk-policy
108-
../filesystems/xfs-maintainer-entry-profile
108+
../filesystems/xfs/xfs-maintainer-entry-profile

MAINTAINERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23846,10 +23846,10 @@ S: Supported
2384623846
W: http://xfs.org/
2384723847
C: irc://irc.oftc.net/xfs
2384823848
T: git git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
23849-
P: Documentation/filesystems/xfs-maintainer-entry-profile.rst
23849+
P: Documentation/filesystems/xfs/xfs-maintainer-entry-profile.rst
2385023850
F: Documentation/ABI/testing/sysfs-fs-xfs
2385123851
F: Documentation/admin-guide/xfs.rst
23852-
F: Documentation/filesystems/xfs-*
23852+
F: Documentation/filesystems/xfs/*
2385323853
F: fs/xfs/
2385423854
F: include/uapi/linux/dqblk_xfs.h
2385523855
F: include/uapi/linux/fsmap.h

drivers/dax/super.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,8 @@ void kill_dax(struct dax_device *dax_dev)
326326
return;
327327

328328
if (dax_dev->holder_data != NULL)
329-
dax_holder_notify_failure(dax_dev, 0, U64_MAX, 0);
329+
dax_holder_notify_failure(dax_dev, 0, U64_MAX,
330+
MF_MEM_PRE_REMOVE);
330331

331332
clear_bit(DAXDEV_ALIVE, &dax_dev->flags);
332333
synchronize_srcu(&dax_srcu);

fs/xfs/Makefile

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
145145

146146
xfs-y += $(addprefix scrub/, \
147147
trace.o \
148+
agb_bitmap.o \
148149
agheader.o \
149150
alloc.o \
150151
attr.o \
@@ -175,14 +176,32 @@ xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \
175176
rtsummary.o \
176177
)
177178

178-
xfs-$(CONFIG_XFS_QUOTA) += scrub/quota.o
179+
xfs-$(CONFIG_XFS_QUOTA) += $(addprefix scrub/, \
180+
dqiterate.o \
181+
quota.o \
182+
)
179183

180184
# online repair
181185
ifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
182186
xfs-y += $(addprefix scrub/, \
183187
agheader_repair.o \
188+
alloc_repair.o \
189+
bmap_repair.o \
190+
cow_repair.o \
191+
ialloc_repair.o \
192+
inode_repair.o \
193+
newbt.o \
184194
reap.o \
195+
refcount_repair.o \
185196
repair.o \
186197
)
198+
199+
xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \
200+
rtbitmap_repair.o \
201+
)
202+
203+
xfs-$(CONFIG_XFS_QUOTA) += $(addprefix scrub/, \
204+
quota_repair.o \
205+
)
187206
endif
188207
endif

0 commit comments

Comments
 (0)