public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: hch@lst.de, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 17/26] xfs: support logging EFIs for realtime extents
Date: Tue, 27 Aug 2024 11:36:57 +1000	[thread overview]
Message-ID: <Zs0tuQlJbleBPND/@dread.disaster.area> (raw)
In-Reply-To: <20240826193835.GD865349@frogsfrogsfrogs>

On Mon, Aug 26, 2024 at 12:38:35PM -0700, Darrick J. Wong wrote:
> On Mon, Aug 26, 2024 at 02:33:08PM +1000, Dave Chinner wrote:
> > On Thu, Aug 22, 2024 at 05:25:36PM -0700, Darrick J. Wong wrote:
> > > From: Darrick J. Wong <djwong@kernel.org>
> > > 
> > > Teach the EFI mechanism how to free realtime extents.  We're going to
> > > need this to enforce proper ordering of operations when we enable
> > > realtime rmap.
> > > 
> > > Declare a new log intent item type (XFS_LI_EFI_RT) and a separate defer
> > > ops for rt extents.  This keeps the ondisk artifacts and processing code
> > > completely separate between the rt and non-rt cases.  Hopefully this
> > > will make it easier to debug filesystem problems.
> > 
> > Doesn't this now require busy extent tracking for rt extents that
> > are being freed?  i.e. they get marked as free with the EFD, but
> > cannot be reallocated (or discarded) until the EFD is committed to
> > disk.
> > 
> > we don't allow user data allocation on the data device to reuse busy
> > ranges because the freeing of the extent has not yet been committed
> > to the journal. Because we use async transaction commits, that means
> > we can return to userspace without even the EFI in the journal - it
> > can still be in memory in the CIL. Hence we cannot allow userspace
> > to reallocate that range and write to it, even though it is marked free in the
> > in-memory metadata.
> 
> Ah, that's a good point -- in memory the bunmapi -> RTEFI -> RTEFD ->
> rtalloc -> bmapi transactions succeed, userspace writes to the file
> blocks, then the log goes down without completing /any/ of those
> transactions, and now a read of the old file gets new contents.

*nod*

> > If userspace then does a write and then we crash without the
> > original EFI on disk, then we've just violated metadata vs data
> > update ordering because recovery will not replay the extent free nor
> > the new allocation, yet the data in that extent will have been
> > changed.
> > 
> > Hence I think that if we are moving to intent based freeing of real
> > time extents, we absolutely need to add support for busy extent
> > tracking to realtime groups before we enable EFIs on realtime
> > groups.....
> 
> Yep.  As a fringe benefit, we'd be able to support issuing discards from
> FITRIM without holding the rtbitmap lock, and -o discard on rt extents
> too.

Yes. And I suspect that if we unify the perag and rtg into a single
group abstraction, the busy extent tracking will work for both
allocators without much functional change being needed at all...

> > Also ....
> > 
> > > @@ -447,6 +467,17 @@ xfs_extent_free_defer_add(
> > >  
> > >  	trace_xfs_extent_free_defer(mp, xefi);
> > >  
> > > +	if (xfs_efi_is_realtime(xefi)) {
> > > +		xfs_rgnumber_t		rgno;
> > > +
> > > +		rgno = xfs_rtb_to_rgno(mp, xefi->xefi_startblock);
> > > +		xefi->xefi_rtg = xfs_rtgroup_get(mp, rgno);
> > > +
> > > +		*dfpp = xfs_defer_add(tp, &xefi->xefi_list,
> > > +				&xfs_rtextent_free_defer_type);
> > > +		return;
> > > +	}
> > > +
> > >  	xefi->xefi_pag = xfs_perag_intent_get(mp, xefi->xefi_startblock);
> > >  	if (xefi->xefi_agresv == XFS_AG_RESV_AGFL)
> > >  		*dfpp = xfs_defer_add(tp, &xefi->xefi_list,
> > 
> > Hmmmm. Isn't this also missing the xfs_drain intent interlocks that
> > allow online repair to wait until all the intents outstanding on a
> > group complete?
> 
> Yep.  I forgot about that.

Same comment about unified group infrastructure ;)

> > > +
> > > +/* Cancel a realtime extent freeing. */
> > > +STATIC void
> > > +xfs_rtextent_free_cancel_item(
> > > +	struct list_head		*item)
> > > +{
> > > +	struct xfs_extent_free_item	*xefi = xefi_entry(item);
> > > +
> > > +	xfs_rtgroup_put(xefi->xefi_rtg);
> > > +	kmem_cache_free(xfs_extfree_item_cache, xefi);
> > > +}
> > > +
> > > +/* Process a free realtime extent. */
> > > +STATIC int
> > > +xfs_rtextent_free_finish_item(
> > > +	struct xfs_trans		*tp,
> > > +	struct xfs_log_item		*done,
> > > +	struct list_head		*item,
> > > +	struct xfs_btree_cur		**state)
> > 
> > btree cursor ....
> > 
> > > +{
> > > +	struct xfs_mount		*mp = tp->t_mountp;
> > > +	struct xfs_extent_free_item	*xefi = xefi_entry(item);
> > > +	struct xfs_efd_log_item		*efdp = EFD_ITEM(done);
> > > +	struct xfs_rtgroup		**rtgp = (struct xfs_rtgroup **)state;
> > 
> > ... but is apparently holding a xfs_rtgroup. that's kinda nasty, and
> > the rtg the xefi is supposed to be associated with is already held
> > by the xefi, so....
> 
> It's very nasty, and I preferred when it was just a void**.  Maybe we
> should just change that to a:
> 
> struct xfs_intent_item_state {
> 	struct xfs_btree_cur	*cur;
> 	struct xfs_rtgroup	*rtg;
> };
> 
> and pass that around?  At least then the compiler can typecheck that for
> us.

Sounds good to me. :)

-Dave.

-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2024-08-27  1:37 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 [this message]
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
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=Zs0tuQlJbleBPND/@dread.disaster.area \
    --to=david@fromorbit.com \
    --cc=djwong@kernel.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