Skip to content

Commit 2edc8f9

Browse files
committed
Merge tag 'xfs-6.13-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs updates from Carlos Maiolino: "The bulk of this pull request is a major rework that Darrick and Christoph have been doing on XFS's real-time volume, coupled with a few features to support this rework. It does also includes some bug fixes. - convert perag to use xarrays - create a new generic allocation group structure - add metadata inode dir trees - create in-core rt allocation groups - shard the RT section into allocation groups - persist quota options with the enw metadata dir tree - enable quota for RT volumes - enable metadata directory trees - some bugfixes" * tag 'xfs-6.13-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (146 commits) xfs: port ondisk structure checks from xfs/122 to the kernel xfs: separate space btree structures in xfs_ondisk.h xfs: convert struct typedefs in xfs_ondisk.h xfs: enable metadata directory feature xfs: enable realtime quota again xfs: update sb field checks when metadir is turned on xfs: reserve quota for realtime files correctly xfs: create quota preallocation watermarks for realtime quota xfs: report realtime block quota limits on realtime directories xfs: persist quota flags with metadir xfs: advertise realtime quota support in the xqm stat files xfs: scrub quota file metapaths xfs: fix chown with rt quota xfs: use metadir for quota inodes xfs: refactor xfs_qm_destroy_quotainos xfs: use rtgroup busy extent list for FITRIM xfs: implement busy extent tracking for rtgroups xfs: port the perag discard code to handle generic groups xfs: move the min and max group block numbers to xfs_group xfs: adjust min_block usage in xfs_verify_agbno ...
2 parents 90a19b7 + 5877dc2 commit 2edc8f9

File tree

156 files changed

+9572
-2946
lines changed

Some content is hidden

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

156 files changed

+9572
-2946
lines changed

fs/iomap/buffered-io.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,6 +1601,8 @@ iomap_ioend_can_merge(struct iomap_ioend *ioend, struct iomap_ioend *next)
16011601
{
16021602
if (ioend->io_bio.bi_status != next->io_bio.bi_status)
16031603
return false;
1604+
if (next->io_flags & IOMAP_F_BOUNDARY)
1605+
return false;
16041606
if ((ioend->io_flags & IOMAP_F_SHARED) ^
16051607
(next->io_flags & IOMAP_F_SHARED))
16061608
return false;
@@ -1720,6 +1722,8 @@ static struct iomap_ioend *iomap_alloc_ioend(struct iomap_writepage_ctx *wpc,
17201722
INIT_LIST_HEAD(&ioend->io_list);
17211723
ioend->io_type = wpc->iomap.type;
17221724
ioend->io_flags = wpc->iomap.flags;
1725+
if (pos > wpc->iomap.offset)
1726+
wpc->iomap.flags &= ~IOMAP_F_BOUNDARY;
17231727
ioend->io_inode = inode;
17241728
ioend->io_size = 0;
17251729
ioend->io_offset = pos;
@@ -1731,6 +1735,8 @@ static struct iomap_ioend *iomap_alloc_ioend(struct iomap_writepage_ctx *wpc,
17311735

17321736
static bool iomap_can_add_to_ioend(struct iomap_writepage_ctx *wpc, loff_t pos)
17331737
{
1738+
if (wpc->iomap.offset == pos && (wpc->iomap.flags & IOMAP_F_BOUNDARY))
1739+
return false;
17341740
if ((wpc->iomap.flags & IOMAP_F_SHARED) !=
17351741
(wpc->ioend->io_flags & IOMAP_F_SHARED))
17361742
return false;

fs/xfs/Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ xfs-y += xfs_trace.o
1414

1515
# build the libxfs code first
1616
xfs-y += $(addprefix libxfs/, \
17+
xfs_group.o \
1718
xfs_ag.o \
19+
xfs_ag_resv.o \
1820
xfs_alloc.o \
1921
xfs_alloc_btree.o \
2022
xfs_attr.o \
@@ -42,7 +44,8 @@ xfs-y += $(addprefix libxfs/, \
4244
xfs_inode_buf.o \
4345
xfs_inode_util.o \
4446
xfs_log_rlimit.o \
45-
xfs_ag_resv.o \
47+
xfs_metadir.o \
48+
xfs_metafile.o \
4649
xfs_parent.o \
4750
xfs_rmap.o \
4851
xfs_rmap_btree.o \
@@ -58,6 +61,7 @@ xfs-y += $(addprefix libxfs/, \
5861
# xfs_rtbitmap is shared with libxfs
5962
xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \
6063
xfs_rtbitmap.o \
64+
xfs_rtgroup.o \
6165
)
6266

6367
# highlevel code
@@ -171,6 +175,7 @@ xfs-y += $(addprefix scrub/, \
171175
inode.o \
172176
iscan.o \
173177
listxattr.o \
178+
metapath.o \
174179
nlinks.o \
175180
parent.o \
176181
readdir.o \
@@ -186,6 +191,7 @@ xfs-y += $(addprefix scrub/, \
186191
xfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o
187192

188193
xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \
194+
rgsuper.o \
189195
rtbitmap.o \
190196
rtsummary.o \
191197
)

0 commit comments

Comments
 (0)