From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: hch@lst.de, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 4/6] xfs: persist quota flags with metadir
Date: Fri, 23 Aug 2024 11:23:22 -0700 [thread overview]
Message-ID: <20240823182322.GQ865349@frogsfrogsfrogs> (raw)
In-Reply-To: <ZsgkKwHoeFii_c8J@infradead.org>
On Thu, Aug 22, 2024 at 10:54:51PM -0700, Christoph Hellwig wrote:
> On Thu, Aug 22, 2024 at 05:28:59PM -0700, Darrick J. Wong wrote:
> > Starting with metadir, let's change the behavior so that if the user
> > does not specify any quota-related mount options at all, the ondisk
> > quota flags will be used to bring up quota. In other words, the
> > filesystem will mount in the same state and with the same functionality
> > as it had during the last mount.
>
> Finally!
>
> Are you going to send some tests that test this behavior?
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
Yes.
--D
xfs: test persistent quota flags
Test the persistent quota flags that come with the metadir feature.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tests/xfs/1891 | 128 +++++++++++++++++++++++++++++++++++++++++++++
tests/xfs/1891.out | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 282 insertions(+), 1 deletion(-)
create mode 100755 tests/xfs/1891
create mode 100644 tests/xfs/1891.out
diff --git a/tests/xfs/1891 b/tests/xfs/1891
new file mode 100755
index 0000000000..53009571a9
--- /dev/null
+++ b/tests/xfs/1891
@@ -0,0 +1,128 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2024 Oracle. All Rights Reserved.
+#
+# FS QA Test 1891
+#
+# Functionality test for persistent quota accounting and enforcement flags in
+# XFS when metadata directories are enabled.
+#
+. ./common/preamble
+_begin_fstest auto quick quota
+
+. ./common/filter
+. ./common/quota
+
+$MKFS_XFS_PROG 2>&1 | grep -q 'uquota' || \
+ _notrun "mkfs does not support uquota option"
+
+_require_scratch
+_require_xfs_quota
+
+filter_quota_state() {
+ sed -e 's/Inode: #[0-9]\+/Inode #XXX/g' \
+ -e '/max warnings:/d' \
+ -e '/Blocks grace time:/d' \
+ -e '/Inodes grace time:/d' \
+ | _filter_scratch
+}
+
+qerase_mkfs_options() {
+ echo "$MKFS_OPTIONS" | sed \
+ -e 's/uquota//g' \
+ -e 's/gquota//g' \
+ -e 's/pquota//g' \
+ -e 's/uqnoenforce//g' \
+ -e 's/gqnoenforce//g' \
+ -e 's/pqnoenforce//g' \
+ -e 's/,,*/,/g'
+}
+
+confirm() {
+ echo "$MOUNT_OPTIONS" | grep -E -q '(qnoenforce|quota)' && \
+ echo "saw quota mount options"
+ _scratch_mount
+ $XFS_QUOTA_PROG -x -c "state -ugp" $SCRATCH_MNT | filter_quota_state
+ _check_xfs_scratch_fs
+ _scratch_unmount
+}
+
+ORIG_MOUNT_OPTIONS="$MOUNT_OPTIONS"
+MKFS_OPTIONS="$(qerase_mkfs_options)"
+
+echo "Test 0: formatting a subset"
+_scratch_mkfs -m uquota,gqnoenforce &>> $seqres.full
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+confirm
+
+echo "Test 1: formatting"
+_scratch_mkfs -m uquota,gquota,pquota &>> $seqres.full
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+confirm
+
+echo "Test 2: only grpquota"
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option grpquota
+confirm
+
+echo "Test 3: repair"
+_scratch_xfs_repair &>> $seqres.full || echo "repair failed?"
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+confirm
+
+echo "Test 4: weird options"
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option pqnoenforce,uquota
+confirm
+
+echo "Test 5: simple recovery"
+_scratch_mkfs -m uquota,gquota,pquota &>> $seqres.full
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+echo "$MOUNT_OPTIONS" | grep -E -q '(qnoenforce|quota)' && \
+ echo "saw quota mount options"
+_scratch_mount
+$XFS_QUOTA_PROG -x -c "state -ugp" $SCRATCH_MNT | filter_quota_state
+touch $SCRATCH_MNT/a
+_scratch_shutdown -v -f >> $seqres.full
+echo shutdown
+_scratch_unmount
+confirm
+
+echo "Test 6: simple recovery with mount options"
+_scratch_mkfs -m uquota,gquota,pquota &>> $seqres.full
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+echo "$MOUNT_OPTIONS" | grep -E -q '(qnoenforce|quota)' && \
+ echo "saw quota mount options"
+_scratch_mount
+$XFS_QUOTA_PROG -x -c "state -ugp" $SCRATCH_MNT | filter_quota_state
+touch $SCRATCH_MNT/a
+_scratch_shutdown -v -f >> $seqres.full
+echo shutdown
+_scratch_unmount
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option gqnoenforce
+confirm
+
+echo "Test 7: user quotaoff recovery"
+_scratch_mkfs -m uquota,gquota,pquota &>> $seqres.full
+MOUNT_OPTIONS="$ORIG_MOUNT_OPTIONS"
+_qmount_option # blank out quota options
+echo "$MOUNT_OPTIONS" | grep -E -q '(qnoenforce|quota)' && \
+ echo "saw quota mount options"
+_scratch_mount
+$XFS_QUOTA_PROG -x -c "state -ugp" $SCRATCH_MNT | filter_quota_state
+touch $SCRATCH_MNT/a
+$XFS_QUOTA_PROG -x -c 'off -u' $SCRATCH_MNT
+_scratch_shutdown -v -f >> $seqres.full
+echo shutdown
+_scratch_unmount
+confirm
+
+# success, all done
+status=0
+exit
diff --git a/tests/xfs/1891.out b/tests/xfs/1891.out
new file mode 100644
index 0000000000..7e88940880
--- /dev/null
+++ b/tests/xfs/1891.out
@@ -0,0 +1,147 @@
+QA output created by 1891
+Test 0: formatting a subset
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode: N/A
+Test 1: formatting
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Test 2: only grpquota
+saw quota mount options
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Test 3: repair
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Test 4: weird options
+saw quota mount options
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Test 5: simple recovery
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+shutdown
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Test 6: simple recovery with mount options
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+shutdown
+saw quota mount options
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: OFF
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Test 7: user quotaoff recovery
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+shutdown
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode #XXX (1 blocks, 1 extents)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: ON
+ Inode #XXX (1 blocks, 1 extents)
next prev parent reply other threads:[~2024-08-23 18:23 UTC|newest]
Thread overview: 270+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-22 23:52 [PATCHBOMB 6.12] xfs: metadata directories and realtime groups Darrick J. Wong
2024-08-22 23:56 ` [PATCHSET v4.0 01/10] xfs: various bug fixes for 6.11 Darrick J. Wong
2024-08-22 23:59 ` [PATCH 1/9] xfs: fix di_onlink checking for V1/V2 inodes Darrick J. Wong
2024-08-22 23:59 ` [PATCH 2/9] xfs: fix folio dirtying for XFILE_ALLOC callers Darrick J. Wong
2024-08-22 23:59 ` [PATCH 3/9] xfs: xfs_finobt_count_blocks() walks the wrong btree Darrick J. Wong
2024-08-22 23:59 ` [PATCH 4/9] xfs: don't bother reporting blocks trimmed via FITRIM Darrick J. Wong
2024-08-23 0:00 ` [PATCH 5/9] xfs: Fix the owner setting issue for rmap query in xfs fsmap Darrick J. Wong
2024-08-23 4:10 ` Christoph Hellwig
2024-08-23 0:00 ` [PATCH 6/9] xfs: use XFS_BUF_DADDR_NULL for daddrs in getfsmap code Darrick J. Wong
2024-08-23 4:10 ` Christoph Hellwig
2024-08-23 0:00 ` [PATCH 7/9] xfs: Fix missing interval for missing_owner in xfs fsmap Darrick J. Wong
2024-08-26 3:58 ` Zizhi Wo
2024-08-23 0:00 ` [PATCH 8/9] xfs: take m_growlock when running growfsrt Darrick J. Wong
2024-08-23 4:08 ` Christoph Hellwig
2024-08-23 0:01 ` [PATCH 9/9] xfs: reset rootdir extent size hint after growfsrt Darrick J. Wong
2024-08-23 4:09 ` Christoph Hellwig
2024-08-23 4:09 ` [PATCHSET v4.0 01/10] xfs: various bug fixes for 6.11 Christoph Hellwig
2024-08-22 23:56 ` [PATCHSET v31.0 02/10] xfs: atomic file content commits Darrick J. Wong
2024-08-23 0:01 ` [PATCH 1/1] xfs: introduce new file range commit ioctls Darrick J. Wong
2024-08-23 4:12 ` Christoph Hellwig
2024-08-23 13:20 ` Jeff Layton
2024-08-23 17:41 ` Darrick J. Wong
2024-08-23 19:15 ` Jeff Layton
2024-08-24 3:29 ` Christoph Hellwig
2024-08-24 4:46 ` Darrick J. Wong
2024-08-24 4:48 ` Christoph Hellwig
2024-08-24 6:29 ` [PATCH v31.0.1 " Darrick J. Wong
2024-08-24 12:11 ` Jeff Layton
2024-08-25 4:52 ` Christoph Hellwig
2024-08-22 23:56 ` [PATCHSET v4.0 03/10] xfs: cleanups before adding metadata directories Darrick J. Wong
2024-08-23 0:01 ` [PATCH 1/3] xfs: validate inumber in xfs_iget Darrick J. Wong
2024-08-23 0:01 ` [PATCH 2/3] xfs: match on the global RT inode numbers in xfs_is_metadata_inode Darrick J. Wong
2024-08-23 0:02 ` [PATCH 3/3] xfs: pass the icreate args object to xfs_dialloc Darrick J. Wong
2024-08-23 4:13 ` Christoph Hellwig
2024-08-22 23:57 ` [PATCHSET v4.0 04/10] xfs: metadata inode directories Darrick J. Wong
2024-08-23 0:02 ` [PATCH 01/26] xfs: define the on-disk format for the metadir feature Darrick J. Wong
2024-08-23 4:30 ` Christoph Hellwig
2024-08-23 0:02 ` [PATCH 02/26] xfs: refactor loading quota inodes in the regular case Darrick J. Wong
2024-08-23 4:31 ` Christoph Hellwig
2024-08-23 17:51 ` Darrick J. Wong
2024-08-23 0:02 ` [PATCH 03/26] xfs: iget for metadata inodes Darrick J. Wong
2024-08-23 4:35 ` Christoph Hellwig
2024-08-23 17:53 ` Darrick J. Wong
2024-08-23 0:03 ` [PATCH 04/26] xfs: load metadata directory root at mount time Darrick J. Wong
2024-08-23 4:35 ` Christoph Hellwig
2024-08-23 0:03 ` [PATCH 05/26] xfs: enforce metadata inode flag Darrick J. Wong
2024-08-23 4:38 ` Christoph Hellwig
2024-08-23 17:55 ` Darrick J. Wong
2024-08-23 0:03 ` [PATCH 06/26] xfs: read and write metadata inode directory tree Darrick J. Wong
2024-08-23 4:39 ` Christoph Hellwig
2024-08-23 0:03 ` [PATCH 07/26] xfs: disable the agi rotor for metadata inodes Darrick J. Wong
2024-08-23 4:39 ` Christoph Hellwig
2024-08-23 0:04 ` [PATCH 08/26] xfs: hide metadata inodes from everyone because they are special Darrick J. Wong
2024-08-23 4:40 ` Christoph Hellwig
2024-08-26 0:41 ` Dave Chinner
2024-08-26 17:33 ` Darrick J. Wong
2024-08-23 0:04 ` [PATCH 09/26] xfs: advertise metadata directory feature Darrick J. Wong
2024-08-23 4:40 ` Christoph Hellwig
2024-08-23 0:04 ` [PATCH 10/26] xfs: allow bulkstat to return metadata directories Darrick J. Wong
2024-08-23 4:41 ` Christoph Hellwig
2024-08-23 0:05 ` [PATCH 11/26] xfs: don't count metadata directory files to quota Darrick J. Wong
2024-08-23 4:42 ` Christoph Hellwig
2024-08-26 0:47 ` Dave Chinner
2024-08-26 17:57 ` Darrick J. Wong
2024-08-23 0:05 ` [PATCH 12/26] xfs: mark quota inodes as metadata files Darrick J. Wong
2024-08-23 4:42 ` Christoph Hellwig
2024-08-23 0:05 ` [PATCH 13/26] xfs: adjust xfs_bmap_add_attrfork for metadir Darrick J. Wong
2024-08-23 4:42 ` Christoph Hellwig
2024-08-23 0:05 ` [PATCH 14/26] xfs: record health problems with the metadata directory Darrick J. Wong
2024-08-23 4:43 ` Christoph Hellwig
2024-08-23 0:06 ` [PATCH 15/26] xfs: refactor directory tree root predicates Darrick J. Wong
2024-08-23 4:48 ` Christoph Hellwig
2024-08-23 0:06 ` [PATCH 16/26] xfs: do not count metadata directory files when doing online quotacheck Darrick J. Wong
2024-08-23 4:48 ` Christoph Hellwig
2024-08-23 0:06 ` [PATCH 17/26] xfs: don't fail repairs on metadata files with no attr fork Darrick J. Wong
2024-08-23 4:49 ` Christoph Hellwig
2024-08-23 0:06 ` [PATCH 18/26] xfs: metadata files can have xattrs if metadir is enabled Darrick J. Wong
2024-08-23 4:50 ` Christoph Hellwig
2024-08-23 18:00 ` Darrick J. Wong
2024-08-23 0:07 ` [PATCH 19/26] xfs: adjust parent pointer scrubber for sb-rooted metadata files Darrick J. Wong
2024-08-23 4:50 ` Christoph Hellwig
2024-08-23 0:07 ` [PATCH 20/26] xfs: fix di_metatype field of inodes that won't load Darrick J. Wong
2024-08-23 4:51 ` Christoph Hellwig
2024-08-23 0:07 ` [PATCH 21/26] xfs: scrub metadata directories Darrick J. Wong
2024-08-23 4:53 ` Christoph Hellwig
2024-08-23 0:07 ` [PATCH 22/26] xfs: check the metadata directory inumber in superblocks Darrick J. Wong
2024-08-23 4:53 ` Christoph Hellwig
2024-08-23 0:08 ` [PATCH 23/26] xfs: move repair temporary files to the metadata directory tree Darrick J. Wong
2024-08-23 4:54 ` Christoph Hellwig
2024-08-23 0:08 ` [PATCH 24/26] xfs: check metadata directory file path connectivity Darrick J. Wong
2024-08-23 4:55 ` Christoph Hellwig
2024-08-23 0:08 ` [PATCH 25/26] xfs: confirm dotdot target before replacing it during a repair Darrick J. Wong
2024-08-23 4:55 ` Christoph Hellwig
2024-08-23 0:08 ` [PATCH 26/26] xfs: repair metadata directory file path connectivity Darrick J. Wong
2024-08-23 4:56 ` Christoph Hellwig
2024-08-22 23:57 ` [PATCHSET v4.0 05/10] xfs: clean up the rtbitmap code Darrick J. Wong
2024-08-23 0:09 ` [PATCH 01/12] xfs: remove xfs_validate_rtextents Darrick J. Wong
2024-08-23 0:09 ` [PATCH 02/12] xfs: factor out a xfs_validate_rt_geometry helper Darrick J. Wong
2024-08-23 0:09 ` [PATCH 03/12] xfs: make the RT rsum_cache mandatory Darrick J. Wong
2024-08-23 0:09 ` [PATCH 04/12] xfs: remove the limit argument to xfs_rtfind_back Darrick J. Wong
2024-08-23 0:10 ` [PATCH 05/12] xfs: assert a valid limit in xfs_rtfind_forw Darrick J. Wong
2024-08-23 0:10 ` [PATCH 06/12] xfs: add bounds checking to xfs_rt{bitmap,summary}_read_buf Darrick J. Wong
2024-08-23 0:10 ` [PATCH 07/12] xfs: cleanup the calling convention for xfs_rtpick_extent Darrick J. Wong
2024-08-23 0:11 ` [PATCH 08/12] xfs: push the calls to xfs_rtallocate_range out to xfs_bmap_rtalloc Darrick J. Wong
2024-08-23 0:11 ` [PATCH 09/12] xfs: factor out a xfs_growfs_rt_bmblock helper Darrick J. Wong
2024-08-23 0:11 ` [PATCH 10/12] xfs: factor out a xfs_last_rt_bmblock helper Darrick J. Wong
2024-08-23 0:11 ` [PATCH 11/12] xfs: factor out rtbitmap/summary initialization helpers Darrick J. Wong
2024-08-23 0:12 ` [PATCH 12/12] xfs: push transaction join out of xfs_rtbitmap_lock and xfs_rtgroup_lock Darrick J. Wong
2024-08-22 23:57 ` [PATCHSET v4.0 06/10] xfs: fixes and cleanups for the realtime allocator Darrick J. Wong
2024-08-23 0:12 ` [PATCH 01/10] xfs: use the recalculated transaction reservation in xfs_growfs_rt_bmblock Darrick J. Wong
2024-08-23 0:12 ` [PATCH 02/10] xfs: ensure rtx mask/shift are correct after growfs Darrick J. Wong
2024-08-23 0:12 ` [PATCH 03/10] xfs: don't return too-short extents from xfs_rtallocate_extent_block Darrick J. Wong
2024-08-23 4:57 ` Christoph Hellwig
2024-08-23 0:13 ` [PATCH 04/10] xfs: don't scan off the end of the rt volume in xfs_rtallocate_extent_block Darrick J. Wong
2024-08-23 4:57 ` Christoph Hellwig
2024-08-23 0:13 ` [PATCH 05/10] xfs: refactor aligning bestlen to prod Darrick J. Wong
2024-08-23 4:58 ` Christoph Hellwig
2024-08-23 0:13 ` [PATCH 06/10] xfs: clean up xfs_rtallocate_extent_exact a bit Darrick J. Wong
2024-08-23 4:58 ` Christoph Hellwig
2024-08-23 0:13 ` [PATCH 07/10] xfs: reduce excessive clamping of maxlen in xfs_rtallocate_extent_near Darrick J. Wong
2024-08-23 4:59 ` Christoph Hellwig
2024-08-23 0:14 ` [PATCH 08/10] xfs: fix broken variable-sized allocation detection in xfs_rtallocate_extent_block Darrick J. Wong
2024-08-23 4:59 ` Christoph Hellwig
2024-08-23 0:14 ` [PATCH 09/10] xfs: remove xfs_rtb_to_rtxrem Darrick J. Wong
2024-08-23 0:14 ` [PATCH 10/10] xfs: simplify xfs_rtalloc_query_range Darrick J. Wong
2024-08-22 23:57 ` [PATCHSET v4.0 07/10] xfs: create incore rt allocation groups Darrick J. Wong
2024-08-23 0:14 ` [PATCH 01/24] xfs: clean up the ISVALID macro in xfs_bmap_adjacent Darrick J. Wong
2024-08-23 0:15 ` [PATCH 02/24] xfs: factor out a xfs_rtallocate helper Darrick J. Wong
2024-08-23 0:15 ` [PATCH 03/24] xfs: rework the rtalloc fallback handling Darrick J. Wong
2024-08-23 0:15 ` [PATCH 04/24] xfs: factor out a xfs_rtallocate_align helper Darrick J. Wong
2024-08-23 0:15 ` [PATCH 05/24] xfs: make the rtalloc start hint a xfs_rtblock_t Darrick J. Wong
2024-08-23 0:16 ` [PATCH 06/24] xfs: add xchk_setup_nothing and xchk_nothing helpers Darrick J. Wong
2024-08-23 5:00 ` Christoph Hellwig
2024-08-23 0:16 ` [PATCH 07/24] xfs: remove xfs_{rtbitmap,rtsummary}_wordcount Darrick J. Wong
2024-08-23 0:16 ` [PATCH 08/24] xfs: replace m_rsumsize with m_rsumblocks Darrick J. Wong
2024-08-23 0:17 ` [PATCH 09/24] xfs: rearrange xfs_fsmap.c a little bit Darrick J. Wong
2024-08-23 5:01 ` Christoph Hellwig
2024-08-23 0:17 ` [PATCH 10/24] xfs: move xfs_ioc_getfsmap out of xfs_ioctl.c Darrick J. Wong
2024-08-23 5:01 ` Christoph Hellwig
2024-08-23 0:17 ` [PATCH 11/24] xfs: create incore realtime group structures Darrick J. Wong
2024-08-23 5:01 ` Christoph Hellwig
2024-08-25 23:56 ` Dave Chinner
2024-08-26 19:14 ` Darrick J. Wong
2024-08-27 0:57 ` Dave Chinner
2024-08-27 1:55 ` Darrick J. Wong
2024-08-27 3:00 ` Dave Chinner
2024-08-27 4:44 ` Christoph Hellwig
2024-08-27 4:38 ` Christoph Hellwig
2024-08-27 5:17 ` Darrick J. Wong
2024-08-27 5:18 ` Christoph Hellwig
2024-08-27 4:27 ` Christoph Hellwig
2024-08-27 5:19 ` Darrick J. Wong
2024-08-23 0:17 ` [PATCH 12/24] xfs: define locking primitives for realtime groups Darrick J. Wong
2024-08-23 5:02 ` Christoph Hellwig
2024-08-23 0:18 ` [PATCH 13/24] xfs: add a lockdep class key for rtgroup inodes Darrick J. Wong
2024-08-23 5:02 ` Christoph Hellwig
2024-08-25 23:58 ` Dave Chinner
2024-08-26 21:38 ` Darrick J. Wong
2024-08-27 0:58 ` Dave Chinner
2024-08-27 1:56 ` Darrick J. Wong
2024-08-27 3:00 ` Dave Chinner
2024-08-23 0:18 ` [PATCH 14/24] xfs: support caching rtgroup metadata inodes Darrick J. Wong
2024-08-23 5:02 ` Christoph Hellwig
2024-08-26 1:41 ` Dave Chinner
2024-08-26 18:37 ` Darrick J. Wong
2024-08-27 1:05 ` Dave Chinner
2024-08-27 2:01 ` Darrick J. Wong
2024-08-23 0:18 ` [PATCH 15/24] xfs: add rtgroup-based realtime scrubbing context management Darrick J. Wong
2024-08-23 5:03 ` Christoph Hellwig
2024-08-23 0:18 ` [PATCH 16/24] xfs: move RT bitmap and summary information to the rtgroup Darrick J. Wong
2024-08-26 1:58 ` Dave Chinner
2024-08-23 0:19 ` [PATCH 17/24] xfs: remove XFS_ILOCK_RT* Darrick J. Wong
2024-08-23 5:04 ` Christoph Hellwig
2024-08-23 0:19 ` [PATCH 18/24] xfs: calculate RT bitmap and summary blocks based on sb_rextents Darrick J. Wong
2024-08-23 0:19 ` [PATCH 19/24] xfs: factor out a xfs_growfs_rt_alloc_fake_mount helper Darrick J. Wong
2024-08-23 0:19 ` [PATCH 20/24] xfs: use xfs_growfs_rt_alloc_fake_mount in xfs_growfs_rt_alloc_blocks Darrick J. Wong
2024-08-23 0:20 ` [PATCH 21/24] xfs: factor out a xfs_growfs_check_rtgeom helper Darrick J. Wong
2024-08-26 2:06 ` Dave Chinner
2024-08-26 18:27 ` Darrick J. Wong
2024-08-27 1:29 ` Dave Chinner
2024-08-27 4:27 ` Darrick J. Wong
2024-08-27 22:16 ` Dave Chinner
2024-08-23 0:20 ` [PATCH 22/24] xfs: refactor xfs_rtbitmap_blockcount Darrick J. Wong
2024-08-23 0:20 ` [PATCH 23/24] xfs: refactor xfs_rtsummary_blockcount Darrick J. Wong
2024-08-23 0:20 ` [PATCH 24/24] xfs: make RT extent numbers relative to the rtgroup Darrick J. Wong
2024-08-22 23:58 ` [PATCHSET v4.0 08/10] xfs: preparation for realtime allocation groups Darrick J. Wong
2024-08-23 0:21 ` [PATCH 1/1] iomap: add a merge boundary flag Darrick J. Wong
2024-08-22 23:58 ` [PATCHSET v4.0 09/10] xfs: shard the realtime section Darrick J. Wong
2024-08-23 0:21 ` [PATCH 01/26] xfs: define the format of rt groups Darrick J. Wong
2024-08-23 5:11 ` Christoph Hellwig
2024-08-23 18:12 ` Darrick J. Wong
2024-08-23 0:21 ` [PATCH 02/26] xfs: check the realtime superblock at mount time Darrick J. Wong
2024-08-23 5:11 ` Christoph Hellwig
2024-08-23 0:21 ` [PATCH 03/26] xfs: update realtime super every time we update the primary fs super Darrick J. Wong
2024-08-23 5:12 ` Christoph Hellwig
2024-08-23 0:22 ` [PATCH 04/26] xfs: export realtime group geometry via XFS_FSOP_GEOM Darrick J. Wong
2024-08-23 5:12 ` Christoph Hellwig
2024-08-23 0:22 ` [PATCH 05/26] xfs: check that rtblock extents do not break rtsupers or rtgroups Darrick J. Wong
2024-08-23 5:13 ` Christoph Hellwig
2024-08-23 0:22 ` [PATCH 06/26] xfs: add a helper to prevent bmap merges across rtgroup boundaries Darrick J. Wong
2024-08-23 0:22 ` [PATCH 07/26] xfs: add frextents to the lazysbcounters when rtgroups enabled Darrick J. Wong
2024-08-23 5:13 ` Christoph Hellwig
2024-08-23 0:23 ` [PATCH 08/26] xfs: convert sick_map loops to use ARRAY_SIZE Darrick J. Wong
2024-08-23 5:14 ` Christoph Hellwig
2024-08-23 0:23 ` [PATCH 09/26] xfs: record rt group metadata errors in the health system Darrick J. Wong
2024-08-23 5:14 ` Christoph Hellwig
2024-08-23 0:23 ` [PATCH 10/26] xfs: export the geometry of realtime groups to userspace Darrick J. Wong
2024-08-23 5:14 ` Christoph Hellwig
2024-08-23 0:24 ` [PATCH 11/26] xfs: add block headers to realtime bitmap and summary blocks Darrick J. Wong
2024-08-23 5:15 ` Christoph Hellwig
2024-08-23 0:24 ` [PATCH 12/26] xfs: encode the rtbitmap in big endian format Darrick J. Wong
2024-08-23 5:15 ` Christoph Hellwig
2024-08-23 0:24 ` [PATCH 13/26] xfs: encode the rtsummary " Darrick J. Wong
2024-08-23 5:15 ` Christoph Hellwig
2024-08-23 0:24 ` [PATCH 14/26] xfs: grow the realtime section when realtime groups are enabled Darrick J. Wong
2024-08-23 5:16 ` Christoph Hellwig
2024-08-23 0:25 ` [PATCH 15/26] xfs: store rtgroup information with a bmap intent Darrick J. Wong
2024-08-23 5:16 ` Christoph Hellwig
2024-08-23 0:25 ` [PATCH 16/26] xfs: force swapext to a realtime file to use the file content exchange ioctl Darrick J. Wong
2024-08-23 5:17 ` Christoph Hellwig
2024-08-23 0:25 ` [PATCH 17/26] xfs: support logging EFIs for realtime extents Darrick J. Wong
2024-08-23 5:17 ` Christoph Hellwig
2024-08-26 4:33 ` Dave Chinner
2024-08-26 19:38 ` Darrick J. Wong
2024-08-27 1:36 ` Dave Chinner
2024-08-23 0:25 ` [PATCH 18/26] xfs: support error injection when freeing rt extents Darrick J. Wong
2024-08-23 5:18 ` Christoph Hellwig
2024-08-23 0:26 ` [PATCH 19/26] xfs: use realtime EFI to free extents when rtgroups are enabled Darrick J. Wong
2024-08-23 5:18 ` Christoph Hellwig
2024-08-23 0:26 ` [PATCH 20/26] xfs: don't merge ioends across RTGs Darrick J. Wong
2024-08-23 0:26 ` [PATCH 21/26] xfs: make the RT allocator rtgroup aware Darrick J. Wong
2024-08-26 4:56 ` Dave Chinner
2024-08-26 19:40 ` Darrick J. Wong
2024-08-27 1:56 ` Dave Chinner
2024-08-27 2:16 ` Darrick J. Wong
2024-08-27 5:00 ` Christoph Hellwig
2024-08-27 5:00 ` Christoph Hellwig
2024-08-27 4:59 ` Christoph Hellwig
2024-08-23 0:26 ` [PATCH 22/26] xfs: don't coalesce file mappings that cross rtgroup boundaries in scrub Darrick J. Wong
2024-08-23 5:19 ` Christoph Hellwig
2024-08-23 0:27 ` [PATCH 23/26] xfs: scrub the realtime group superblock Darrick J. Wong
2024-08-23 5:19 ` Christoph Hellwig
2024-08-23 0:27 ` [PATCH 24/26] xfs: repair " Darrick J. Wong
2024-08-23 5:19 ` Christoph Hellwig
2024-08-23 0:27 ` [PATCH 25/26] xfs: scrub metadir paths for rtgroup metadata Darrick J. Wong
2024-08-23 5:20 ` Christoph Hellwig
2024-08-23 0:27 ` [PATCH 26/26] xfs: mask off the rtbitmap and summary inodes when metadir in use Darrick J. Wong
2024-08-23 5:20 ` Christoph Hellwig
2024-08-22 23:58 ` [PATCHSET v4.0 10/10] xfs: store quota files in the metadir Darrick J. Wong
2024-08-23 0:28 ` [PATCH 1/6] xfs: refactor xfs_qm_destroy_quotainos Darrick J. Wong
2024-08-23 5:51 ` Christoph Hellwig
2024-08-23 0:28 ` [PATCH 2/6] xfs: use metadir for quota inodes Darrick J. Wong
2024-08-23 5:53 ` Christoph Hellwig
2024-08-23 18:20 ` Darrick J. Wong
2024-08-23 0:28 ` [PATCH 3/6] xfs: scrub quota file metapaths Darrick J. Wong
2024-08-23 5:53 ` Christoph Hellwig
2024-08-23 0:28 ` [PATCH 4/6] xfs: persist quota flags with metadir Darrick J. Wong
2024-08-23 5:54 ` Christoph Hellwig
2024-08-23 18:23 ` Darrick J. Wong [this message]
2024-08-26 9:42 ` Dave Chinner
2024-08-26 18:15 ` Darrick J. Wong
2024-08-23 0:29 ` [PATCH 5/6] xfs: update sb field checks when metadir is turned on Darrick J. Wong
2024-08-23 5:55 ` Christoph Hellwig
2024-08-26 9:52 ` Dave Chinner
2024-08-26 18:07 ` Darrick J. Wong
2024-08-27 2:16 ` Dave Chinner
2024-08-27 3:16 ` Darrick J. Wong
2024-08-23 0:29 ` [PATCH 6/6] xfs: enable metadata directory feature Darrick J. Wong
2024-08-23 5:58 ` Christoph Hellwig
2024-08-23 18:26 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240823182322.GQ865349@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox