public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHBOMB 6.14 v6.0] xfs: realtime rmap and reflink
@ 2024-12-13  0:53 Darrick J. Wong
  2024-12-13  0:56 ` [PATCHSET v6.0 1/5] xfs: refactor btrees to support records in inode root Darrick J. Wong
                   ` (5 more replies)
  0 siblings, 6 replies; 213+ messages in thread
From: Darrick J. Wong @ 2024-12-13  0:53 UTC (permalink / raw)
  To: Carlos Maiolino; +Cc: linux-xfs, Christoph Hellwig

Hi everyone,

Christoph and I have been working on getting the long-delayed port of
reverse mapping and reflink to the realtime device into mergeable shape.
With these changes, the realtime volume finally reaches feature parity
with the data device.  This is the base for building more functionality
into xfs, such as the zoned storage support that Christoph posted the
other day.

The first couple of patchsets are all cleanups and refactoring so that
we can fully support having btrees rooted in an inode's data fork.  This
is necessary because the generic btree code only supports using the
immediate area as an internal tree node -- conversion from extents to
bmbt format only happens when there are too many leaf records to fit in
the immediate area.  Therefore, we need to remodel it to support storing
records in the immediate area.  We also need to be able to reserve
space for future btree expansion, so the second patchset enables
tracking per-inode reservations from the free space.

The third patchset ports reverse mapping btree to the realtime device,
which mainly consists of constructing a btree in an inode, linking the
inode into the metadata directory tree, and updating the log items to
handle rt rmap update log intent items.

The fourth patchset ports the refcount btree, block sharing, and copy on
write to the realtime device.

The fifth and final patchset is still RFC status -- it enables reflink
and out of place COW writes when the rt extent size is larger than a
single fsblock.  This part is sketchy -- I want to avoid needing to
change a lot of the bmap code to handle the case where an rt extent's
worth of logical file blocks map to multiple rt extents, so I mandated
that sharing and COW must happen on rt extent boundaries.  To make this
happen I had to fiddle around with the generic remap functions and
writeback control so that we always dirty an entire rt extent's worth of
pages, and we always try to schedule writeback in units of rt extents.
I suspect this might be racy.  We might be better off never picking up
support for non-power-of-two rt extent sizes with reflink; or never
adding support for rtextsize > 1 at all.

Please have a look at the git tree links for code changes:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/log/?h=realtime-reflink-extsize_2024-12-12
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=realtime-reflink-extsize_2024-12-12
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/log/?h=realtime-reflink-extsize_2024-12-03

(fstests is behind because I haven't rebased atop the parallel fstests
work)

--D

^ permalink raw reply	[flat|nested] 213+ messages in thread
* [PATCHSET v6.1 5/5] xfs: reflink on the realtime device
@ 2024-12-19 19:20 Darrick J. Wong
  2024-12-19 19:38 ` [PATCH 21/43] xfs: allow inodes to have the realtime and reflink flags Darrick J. Wong
  0 siblings, 1 reply; 213+ messages in thread
From: Darrick J. Wong @ 2024-12-19 19:20 UTC (permalink / raw)
  To: djwong; +Cc: hch, linux-xfs, hch

Hi all,

This patchset enables use of the file data block sharing feature (i.e.
reflink) on the realtime device.  It follows the same basic sequence as
the realtime rmap series -- first a few cleanups; then  introduction of
the new btree format and inode fork format.  Next comes enabling CoW and
remapping for the rt device; new scrub, repair, and health reporting
code; and at the end we implement some code to lengthen write requests
so that rt extents are always CoWed fully.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=realtime-reflink

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=realtime-reflink

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=realtime-reflink

xfsdocs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-documentation.git/log/?h=realtime-reflink
---
Commits in this patchset:
 * xfs: prepare refcount btree cursor tracepoints for realtime
 * xfs: namespace the maximum length/refcount symbols
 * xfs: introduce realtime refcount btree ondisk definitions
 * xfs: realtime refcount btree transaction reservations
 * xfs: add realtime refcount btree operations
 * xfs: prepare refcount functions to deal with rtrefcountbt
 * xfs: add a realtime flag to the refcount update log redo items
 * xfs: support recovering refcount intent items targetting realtime extents
 * xfs: add realtime refcount btree block detection to log recovery
 * xfs: add realtime refcount btree inode to metadata directory
 * xfs: add metadata reservations for realtime refcount btree
 * xfs: wire up a new metafile type for the realtime refcount
 * xfs: refactor xfs_reflink_find_shared
 * xfs: wire up realtime refcount btree cursors
 * xfs: create routine to allocate and initialize a realtime refcount btree inode
 * xfs: update rmap to allow cow staging extents in the rt rmap
 * xfs: compute rtrmap btree max levels when reflink enabled
 * xfs: refactor reflink quota updates
 * xfs: enable CoW for realtime data
 * xfs: enable sharing of realtime file blocks
 * xfs: allow inodes to have the realtime and reflink flags
 * xfs: recover CoW leftovers in the realtime volume
 * xfs: fix xfs_get_extsz_hint behavior with realtime alwayscow files
 * xfs: apply rt extent alignment constraints to CoW extsize hint
 * xfs: enable extent size hints for CoW operations
 * xfs: check that the rtrefcount maxlevels doesn't increase when growing fs
 * xfs: report realtime refcount btree corruption errors to the health system
 * xfs: scrub the realtime refcount btree
 * xfs: cross-reference checks with the rt refcount btree
 * xfs: allow overlapping rtrmapbt records for shared data extents
 * xfs: check reference counts of gaps between rt refcount records
 * xfs: allow dquot rt block count to exceed rt blocks on reflink fs
 * xfs: detect and repair misaligned rtinherit directory cowextsize hints
 * xfs: scrub the metadir path of rt refcount btree files
 * xfs: don't flag quota rt block usage on rtreflink filesystems
 * xfs: check new rtbitmap records against rt refcount btree
 * xfs: walk the rt reference count tree when rebuilding rmap
 * xfs: capture realtime CoW staging extents when rebuilding rt rmapbt
 * xfs: online repair of the realtime refcount btree
 * xfs: repair inodes that have a refcount btree in the data fork
 * xfs: check for shared rt extents when rebuilding rt file's data fork
 * xfs: fix CoW forks for realtime files
 * xfs: enable realtime reflink
---
 fs/xfs/Makefile                      |    3 
 fs/xfs/libxfs/xfs_bmap.c             |   23 +
 fs/xfs/libxfs/xfs_btree.c            |    5 
 fs/xfs/libxfs/xfs_btree.h            |    2 
 fs/xfs/libxfs/xfs_defer.h            |    1 
 fs/xfs/libxfs/xfs_format.h           |   25 +
 fs/xfs/libxfs/xfs_fs.h               |    7 
 fs/xfs/libxfs/xfs_health.h           |    4 
 fs/xfs/libxfs/xfs_inode_buf.c        |   33 +
 fs/xfs/libxfs/xfs_inode_fork.c       |    6 
 fs/xfs/libxfs/xfs_log_format.h       |    6 
 fs/xfs/libxfs/xfs_log_recover.h      |    2 
 fs/xfs/libxfs/xfs_ondisk.h           |    2 
 fs/xfs/libxfs/xfs_refcount.c         |  276 ++++++++++--
 fs/xfs/libxfs/xfs_refcount.h         |   23 +
 fs/xfs/libxfs/xfs_rmap.c             |    7 
 fs/xfs/libxfs/xfs_rtgroup.c          |   19 +
 fs/xfs/libxfs/xfs_rtgroup.h          |   11 
 fs/xfs/libxfs/xfs_rtrefcount_btree.c |  757 +++++++++++++++++++++++++++++++++
 fs/xfs/libxfs/xfs_rtrefcount_btree.h |  189 ++++++++
 fs/xfs/libxfs/xfs_rtrmap_btree.c     |   28 +
 fs/xfs/libxfs/xfs_sb.c               |    8 
 fs/xfs/libxfs/xfs_shared.h           |    7 
 fs/xfs/libxfs/xfs_trans_resv.c       |   25 +
 fs/xfs/scrub/agheader_repair.c       |    2 
 fs/xfs/scrub/bmap.c                  |   30 +
 fs/xfs/scrub/bmap_repair.c           |   21 +
 fs/xfs/scrub/common.c                |   10 
 fs/xfs/scrub/common.h                |    5 
 fs/xfs/scrub/cow_repair.c            |  180 +++++++-
 fs/xfs/scrub/health.c                |    1 
 fs/xfs/scrub/inode.c                 |   31 +
 fs/xfs/scrub/inode_repair.c          |   57 ++
 fs/xfs/scrub/metapath.c              |    3 
 fs/xfs/scrub/quota.c                 |    8 
 fs/xfs/scrub/quota_repair.c          |    2 
 fs/xfs/scrub/reap.c                  |  247 ++++++++++-
 fs/xfs/scrub/reap.h                  |    7 
 fs/xfs/scrub/refcount.c              |    2 
 fs/xfs/scrub/refcount_repair.c       |    6 
 fs/xfs/scrub/repair.c                |    6 
 fs/xfs/scrub/repair.h                |    7 
 fs/xfs/scrub/rgb_bitmap.h            |   37 ++
 fs/xfs/scrub/rmap_repair.c           |    7 
 fs/xfs/scrub/rtb_bitmap.h            |   37 ++
 fs/xfs/scrub/rtbitmap.c              |    2 
 fs/xfs/scrub/rtbitmap_repair.c       |   24 +
 fs/xfs/scrub/rtrefcount.c            |  661 +++++++++++++++++++++++++++++
 fs/xfs/scrub/rtrefcount_repair.c     |  783 ++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/rtrmap.c                |   54 ++
 fs/xfs/scrub/rtrmap_repair.c         |  103 ++++
 fs/xfs/scrub/scrub.c                 |    7 
 fs/xfs/scrub/scrub.h                 |   12 +
 fs/xfs/scrub/stats.c                 |    1 
 fs/xfs/scrub/trace.h                 |   54 +-
 fs/xfs/xfs_buf_item_recover.c        |    4 
 fs/xfs/xfs_fsmap.c                   |   25 +
 fs/xfs/xfs_fsops.c                   |    2 
 fs/xfs/xfs_health.c                  |    1 
 fs/xfs/xfs_inode_item.c              |   14 +
 fs/xfs/xfs_inode_item_recover.c      |    4 
 fs/xfs/xfs_ioctl.c                   |   21 +
 fs/xfs/xfs_log_recover.c             |    2 
 fs/xfs/xfs_mount.c                   |    5 
 fs/xfs/xfs_mount.h                   |    9 
 fs/xfs/xfs_refcount_item.c           |  240 ++++++++++
 fs/xfs/xfs_reflink.c                 |  325 ++++++++++----
 fs/xfs/xfs_reflink.h                 |    4 
 fs/xfs/xfs_rtalloc.c                 |   24 +
 fs/xfs/xfs_rtalloc.h                 |    5 
 fs/xfs/xfs_stats.c                   |    3 
 fs/xfs/xfs_stats.h                   |    1 
 fs/xfs/xfs_super.c                   |    6 
 fs/xfs/xfs_trace.h                   |  111 +++--
 74 files changed, 4330 insertions(+), 352 deletions(-)
 create mode 100644 fs/xfs/libxfs/xfs_rtrefcount_btree.c
 create mode 100644 fs/xfs/libxfs/xfs_rtrefcount_btree.h
 create mode 100644 fs/xfs/scrub/rgb_bitmap.h
 create mode 100644 fs/xfs/scrub/rtb_bitmap.h
 create mode 100644 fs/xfs/scrub/rtrefcount.c
 create mode 100644 fs/xfs/scrub/rtrefcount_repair.c


^ permalink raw reply	[flat|nested] 213+ messages in thread
* [PATCHSET v6.2 5/5] xfs: reflink on the realtime device
@ 2024-12-23 22:53 Darrick J. Wong
  2024-12-23 23:11 ` [PATCH 21/43] xfs: allow inodes to have the realtime and reflink flags Darrick J. Wong
  0 siblings, 1 reply; 213+ messages in thread
From: Darrick J. Wong @ 2024-12-23 22:53 UTC (permalink / raw)
  To: djwong, cem; +Cc: hch, linux-xfs

Hi all,

This patchset enables use of the file data block sharing feature (i.e.
reflink) on the realtime device.  It follows the same basic sequence as
the realtime rmap series -- first a few cleanups; then  introduction of
the new btree format and inode fork format.  Next comes enabling CoW and
remapping for the rt device; new scrub, repair, and health reporting
code; and at the end we implement some code to lengthen write requests
so that rt extents are always CoWed fully.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=realtime-reflink

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=realtime-reflink

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=realtime-reflink

xfsdocs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-documentation.git/log/?h=realtime-reflink
---
Commits in this patchset:
 * xfs: prepare refcount btree cursor tracepoints for realtime
 * xfs: namespace the maximum length/refcount symbols
 * xfs: introduce realtime refcount btree ondisk definitions
 * xfs: realtime refcount btree transaction reservations
 * xfs: add realtime refcount btree operations
 * xfs: prepare refcount functions to deal with rtrefcountbt
 * xfs: add a realtime flag to the refcount update log redo items
 * xfs: support recovering refcount intent items targetting realtime extents
 * xfs: add realtime refcount btree block detection to log recovery
 * xfs: add realtime refcount btree inode to metadata directory
 * xfs: add metadata reservations for realtime refcount btree
 * xfs: wire up a new metafile type for the realtime refcount
 * xfs: refactor xfs_reflink_find_shared
 * xfs: wire up realtime refcount btree cursors
 * xfs: create routine to allocate and initialize a realtime refcount btree inode
 * xfs: update rmap to allow cow staging extents in the rt rmap
 * xfs: compute rtrmap btree max levels when reflink enabled
 * xfs: refactor reflink quota updates
 * xfs: enable CoW for realtime data
 * xfs: enable sharing of realtime file blocks
 * xfs: allow inodes to have the realtime and reflink flags
 * xfs: recover CoW leftovers in the realtime volume
 * xfs: fix xfs_get_extsz_hint behavior with realtime alwayscow files
 * xfs: apply rt extent alignment constraints to CoW extsize hint
 * xfs: enable extent size hints for CoW operations
 * xfs: check that the rtrefcount maxlevels doesn't increase when growing fs
 * xfs: report realtime refcount btree corruption errors to the health system
 * xfs: scrub the realtime refcount btree
 * xfs: cross-reference checks with the rt refcount btree
 * xfs: allow overlapping rtrmapbt records for shared data extents
 * xfs: check reference counts of gaps between rt refcount records
 * xfs: allow dquot rt block count to exceed rt blocks on reflink fs
 * xfs: detect and repair misaligned rtinherit directory cowextsize hints
 * xfs: scrub the metadir path of rt refcount btree files
 * xfs: don't flag quota rt block usage on rtreflink filesystems
 * xfs: check new rtbitmap records against rt refcount btree
 * xfs: walk the rt reference count tree when rebuilding rmap
 * xfs: capture realtime CoW staging extents when rebuilding rt rmapbt
 * xfs: online repair of the realtime refcount btree
 * xfs: repair inodes that have a refcount btree in the data fork
 * xfs: check for shared rt extents when rebuilding rt file's data fork
 * xfs: fix CoW forks for realtime files
 * xfs: enable realtime reflink
---
 fs/xfs/Makefile                      |    3 
 fs/xfs/libxfs/xfs_bmap.c             |   23 +
 fs/xfs/libxfs/xfs_btree.c            |    5 
 fs/xfs/libxfs/xfs_btree.h            |    2 
 fs/xfs/libxfs/xfs_defer.h            |    1 
 fs/xfs/libxfs/xfs_format.h           |   25 +
 fs/xfs/libxfs/xfs_fs.h               |    7 
 fs/xfs/libxfs/xfs_health.h           |    4 
 fs/xfs/libxfs/xfs_inode_buf.c        |   33 +
 fs/xfs/libxfs/xfs_inode_fork.c       |    6 
 fs/xfs/libxfs/xfs_log_format.h       |    6 
 fs/xfs/libxfs/xfs_log_recover.h      |    2 
 fs/xfs/libxfs/xfs_ondisk.h           |    2 
 fs/xfs/libxfs/xfs_refcount.c         |  276 ++++++++++--
 fs/xfs/libxfs/xfs_refcount.h         |   23 +
 fs/xfs/libxfs/xfs_rmap.c             |    7 
 fs/xfs/libxfs/xfs_rtgroup.c          |   19 +
 fs/xfs/libxfs/xfs_rtgroup.h          |   11 
 fs/xfs/libxfs/xfs_rtrefcount_btree.c |  757 +++++++++++++++++++++++++++++++++
 fs/xfs/libxfs/xfs_rtrefcount_btree.h |  189 ++++++++
 fs/xfs/libxfs/xfs_rtrmap_btree.c     |   28 +
 fs/xfs/libxfs/xfs_sb.c               |    8 
 fs/xfs/libxfs/xfs_shared.h           |    7 
 fs/xfs/libxfs/xfs_trans_resv.c       |   25 +
 fs/xfs/scrub/agheader_repair.c       |    2 
 fs/xfs/scrub/bmap.c                  |   30 +
 fs/xfs/scrub/bmap_repair.c           |   21 +
 fs/xfs/scrub/common.c                |   10 
 fs/xfs/scrub/common.h                |    5 
 fs/xfs/scrub/cow_repair.c            |  180 +++++++-
 fs/xfs/scrub/health.c                |    1 
 fs/xfs/scrub/inode.c                 |   31 +
 fs/xfs/scrub/inode_repair.c          |   57 ++
 fs/xfs/scrub/metapath.c              |    3 
 fs/xfs/scrub/quota.c                 |    8 
 fs/xfs/scrub/quota_repair.c          |    2 
 fs/xfs/scrub/reap.c                  |  247 ++++++++++-
 fs/xfs/scrub/reap.h                  |    7 
 fs/xfs/scrub/refcount.c              |    2 
 fs/xfs/scrub/refcount_repair.c       |    6 
 fs/xfs/scrub/repair.c                |    6 
 fs/xfs/scrub/repair.h                |    7 
 fs/xfs/scrub/rgb_bitmap.h            |   37 ++
 fs/xfs/scrub/rmap_repair.c           |    7 
 fs/xfs/scrub/rtb_bitmap.h            |   37 ++
 fs/xfs/scrub/rtbitmap.c              |    2 
 fs/xfs/scrub/rtbitmap_repair.c       |   24 +
 fs/xfs/scrub/rtrefcount.c            |  661 +++++++++++++++++++++++++++++
 fs/xfs/scrub/rtrefcount_repair.c     |  783 ++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/rtrmap.c                |   54 ++
 fs/xfs/scrub/rtrmap_repair.c         |  103 ++++
 fs/xfs/scrub/scrub.c                 |    7 
 fs/xfs/scrub/scrub.h                 |   12 +
 fs/xfs/scrub/stats.c                 |    1 
 fs/xfs/scrub/trace.h                 |   54 +-
 fs/xfs/xfs_buf_item_recover.c        |    4 
 fs/xfs/xfs_fsmap.c                   |   25 +
 fs/xfs/xfs_fsops.c                   |    2 
 fs/xfs/xfs_health.c                  |    1 
 fs/xfs/xfs_inode_item.c              |   14 +
 fs/xfs/xfs_inode_item_recover.c      |    4 
 fs/xfs/xfs_ioctl.c                   |   21 +
 fs/xfs/xfs_log_recover.c             |    2 
 fs/xfs/xfs_mount.c                   |    5 
 fs/xfs/xfs_mount.h                   |    9 
 fs/xfs/xfs_refcount_item.c           |  240 ++++++++++
 fs/xfs/xfs_reflink.c                 |  325 ++++++++++----
 fs/xfs/xfs_reflink.h                 |    4 
 fs/xfs/xfs_rtalloc.c                 |   24 +
 fs/xfs/xfs_rtalloc.h                 |    5 
 fs/xfs/xfs_stats.c                   |    3 
 fs/xfs/xfs_stats.h                   |    1 
 fs/xfs/xfs_super.c                   |    6 
 fs/xfs/xfs_trace.h                   |  111 +++--
 74 files changed, 4330 insertions(+), 352 deletions(-)
 create mode 100644 fs/xfs/libxfs/xfs_rtrefcount_btree.c
 create mode 100644 fs/xfs/libxfs/xfs_rtrefcount_btree.h
 create mode 100644 fs/xfs/scrub/rgb_bitmap.h
 create mode 100644 fs/xfs/scrub/rtb_bitmap.h
 create mode 100644 fs/xfs/scrub/rtrefcount.c
 create mode 100644 fs/xfs/scrub/rtrefcount_repair.c


^ permalink raw reply	[flat|nested] 213+ messages in thread

end of thread, other threads:[~2024-12-23 23:11 UTC | newest]

Thread overview: 213+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-13  0:53 [PATCHBOMB 6.14 v6.0] xfs: realtime rmap and reflink Darrick J. Wong
2024-12-13  0:56 ` [PATCHSET v6.0 1/5] xfs: refactor btrees to support records in inode root Darrick J. Wong
2024-12-13  0:58   ` [PATCH 1/8] xfs: tidy up xfs_iroot_realloc Darrick J. Wong
2024-12-13  6:03     ` Christoph Hellwig
2024-12-13  0:58   ` [PATCH 2/8] xfs: refactor the inode fork memory allocation functions Darrick J. Wong
2024-12-13  6:05     ` Christoph Hellwig
2024-12-17 19:43       ` Darrick J. Wong
2024-12-13  0:58   ` [PATCH 3/8] xfs: make xfs_iroot_realloc take the new numrecs instead of deltas Darrick J. Wong
2024-12-13  6:06     ` Christoph Hellwig
2024-12-13  0:59   ` [PATCH 4/8] xfs: make xfs_iroot_realloc a bmap btree function Darrick J. Wong
2024-12-13  6:07     ` Christoph Hellwig
2024-12-13  0:59   ` [PATCH 5/8] xfs: tidy up xfs_bmap_broot_realloc a bit Darrick J. Wong
2024-12-13  6:07     ` Christoph Hellwig
2024-12-13  0:59   ` [PATCH 6/8] xfs: hoist the node iroot update code out of xfs_btree_new_iroot Darrick J. Wong
2024-12-13  6:08     ` Christoph Hellwig
2024-12-13  6:09     ` Christoph Hellwig
2024-12-13  0:59   ` [PATCH 7/8] xfs: hoist the node iroot update code out of xfs_btree_kill_iroot Darrick J. Wong
2024-12-13  6:09     ` Christoph Hellwig
2024-12-13  1:00   ` [PATCH 8/8] xfs: support storing records in the inode core root Darrick J. Wong
2024-12-13  6:10     ` Christoph Hellwig
2024-12-13  0:57 ` [PATCHSET v6.0 2/5] xfs: enable in-core block reservation for rt metadata Darrick J. Wong
2024-12-13  1:00   ` [PATCH 1/2] xfs: prepare to reuse the dquot pointer space in struct xfs_inode Darrick J. Wong
2024-12-13  1:00   ` [PATCH 2/2] xfs: allow inode-based btrees to reserve space in the data device Darrick J. Wong
2024-12-13  6:11     ` Christoph Hellwig
2024-12-17 19:58       ` Darrick J. Wong
2024-12-18  6:54         ` Christoph Hellwig
2024-12-13  0:57 ` [PATCHSET v6.0 3/5] xfs: realtime reverse-mapping support Darrick J. Wong
2024-12-13  1:00   ` [PATCH 01/37] xfs: add some rtgroup inode helpers Darrick J. Wong
2024-12-13  6:11     ` Christoph Hellwig
2024-12-13  1:01   ` [PATCH 02/37] xfs: prepare rmap btree cursor tracepoints for realtime Darrick J. Wong
2024-12-13  6:12     ` Christoph Hellwig
2024-12-13  1:01   ` [PATCH 03/37] xfs: simplify the xfs_rmap_{alloc,free}_extent calling conventions Darrick J. Wong
2024-12-13  6:20     ` Christoph Hellwig
2024-12-13  1:01   ` [PATCH 04/37] xfs: introduce realtime rmap btree ondisk definitions Darrick J. Wong
2024-12-13  6:23     ` Christoph Hellwig
2024-12-17 20:02       ` Darrick J. Wong
2024-12-13  1:01   ` [PATCH 05/37] xfs: realtime rmap btree transaction reservations Darrick J. Wong
2024-12-13  6:24     ` Christoph Hellwig
2024-12-13  1:02   ` [PATCH 06/37] xfs: add realtime rmap btree operations Darrick J. Wong
2024-12-13  6:24     ` Christoph Hellwig
2024-12-13  1:02   ` [PATCH 07/37] xfs: prepare rmap functions to deal with rtrmapbt Darrick J. Wong
2024-12-13  6:25     ` Christoph Hellwig
2024-12-13  1:02   ` [PATCH 08/37] xfs: add a realtime flag to the rmap update log redo items Darrick J. Wong
2024-12-13  6:26     ` Christoph Hellwig
2024-12-13  6:26     ` Christoph Hellwig
2024-12-13  1:02   ` [PATCH 09/37] xfs: support recovering rmap intent items targetting realtime extents Darrick J. Wong
2024-12-13  6:28     ` Christoph Hellwig
2024-12-13  1:03   ` [PATCH 10/37] xfs: pretty print metadata file types in error messages Darrick J. Wong
2024-12-13  6:30     ` Christoph Hellwig
2024-12-17 20:18       ` Darrick J. Wong
2024-12-13  1:03   ` [PATCH 11/37] xfs: support file data forks containing metadata btrees Darrick J. Wong
2024-12-13  6:49     ` Christoph Hellwig
2024-12-13  1:03   ` [PATCH 12/37] xfs: add realtime reverse map inode to metadata directory Darrick J. Wong
2024-12-13  6:49     ` Christoph Hellwig
2024-12-13  1:03   ` [PATCH 13/37] xfs: add metadata reservations for realtime rmap btrees Darrick J. Wong
2024-12-13  6:50     ` Christoph Hellwig
2024-12-13  1:04   ` [PATCH 14/37] xfs: wire up a new metafile type for the realtime rmap Darrick J. Wong
2024-12-13  7:14     ` Christoph Hellwig
2024-12-13  1:04   ` [PATCH 15/37] xfs: wire up rmap map and unmap to the realtime rmapbt Darrick J. Wong
2024-12-13  6:51     ` Christoph Hellwig
2024-12-13  1:04   ` [PATCH 16/37] xfs: create routine to allocate and initialize a realtime rmap btree inode Darrick J. Wong
2024-12-13  6:52     ` Christoph Hellwig
2024-12-13  1:05   ` [PATCH 17/37] xfs: wire up getfsmap to the realtime reverse mapping btree Darrick J. Wong
2024-12-13  6:53     ` Christoph Hellwig
2024-12-13  1:05   ` [PATCH 18/37] xfs: check that the rtrmapbt maxlevels doesn't increase when growing fs Darrick J. Wong
2024-12-13  6:53     ` Christoph Hellwig
2024-12-13  1:05   ` [PATCH 19/37] xfs: report realtime rmap btree corruption errors to the health system Darrick J. Wong
2024-12-13  6:54     ` Christoph Hellwig
2024-12-13  1:05   ` [PATCH 20/37] xfs: allow queued realtime intents to drain before scrubbing Darrick J. Wong
2024-12-13  7:14     ` Christoph Hellwig
2024-12-13  1:06   ` [PATCH 21/37] xfs: scrub the realtime rmapbt Darrick J. Wong
2024-12-13  7:15     ` Christoph Hellwig
2024-12-13  1:06   ` [PATCH 22/37] xfs: cross-reference realtime bitmap to realtime rmapbt scrubber Darrick J. Wong
2024-12-13  7:15     ` Christoph Hellwig
2024-12-13  1:06   ` [PATCH 23/37] xfs: cross-reference the realtime rmapbt Darrick J. Wong
2024-12-13  7:16     ` Christoph Hellwig
2024-12-13  1:06   ` [PATCH 24/37] xfs: scan rt rmap when we're doing an intense rmap check of bmbt mappings Darrick J. Wong
2024-12-13  7:17     ` Christoph Hellwig
2024-12-13  1:07   ` [PATCH 25/37] xfs: scrub the metadir path of rt rmap btree files Darrick J. Wong
2024-12-13  7:17     ` Christoph Hellwig
2024-12-13  1:07   ` [PATCH 26/37] xfs: walk the rt reverse mapping tree when rebuilding rmap Darrick J. Wong
2024-12-13  7:18     ` Christoph Hellwig
2024-12-13  1:07   ` [PATCH 27/37] xfs: online repair of realtime file bmaps Darrick J. Wong
2024-12-13  7:19     ` Christoph Hellwig
2024-12-17 20:25       ` Darrick J. Wong
2024-12-18  6:54         ` Christoph Hellwig
2024-12-13  1:07   ` [PATCH 28/37] xfs: repair inodes that have realtime extents Darrick J. Wong
2024-12-13  7:19     ` Christoph Hellwig
2024-12-13  1:08   ` [PATCH 29/37] xfs: repair rmap btree inodes Darrick J. Wong
2024-12-13  7:19     ` Christoph Hellwig
2024-12-13  1:08   ` [PATCH 30/37] xfs: online repair of realtime bitmaps for a realtime group Darrick J. Wong
2024-12-13  7:20     ` Christoph Hellwig
2024-12-13  1:08   ` [PATCH 31/37] xfs: support repairing metadata btrees rooted in metadir inodes Darrick J. Wong
2024-12-13  7:23     ` Christoph Hellwig
2024-12-13  1:08   ` [PATCH 32/37] xfs: online repair of the realtime rmap btree Darrick J. Wong
2024-12-13  7:29     ` Christoph Hellwig
2024-12-17 20:41       ` Darrick J. Wong
2024-12-18  6:55         ` Christoph Hellwig
2024-12-13  1:09   ` [PATCH 33/37] xfs: create a shadow rmap btree during realtime rmap repair Darrick J. Wong
2024-12-13  7:29     ` Christoph Hellwig
2024-12-13  1:09   ` [PATCH 34/37] xfs: hook live realtime rmap operations during a repair operation Darrick J. Wong
2024-12-13  7:34     ` Christoph Hellwig
2024-12-13  1:09   ` [PATCH 35/37] xfs: clean up device translation in xfs_dax_notify_failure Darrick J. Wong
2024-12-13  1:09   ` [PATCH 36/37] xfs: react to fsdax failure notifications on the rt device Darrick J. Wong
2024-12-13  8:29     ` Christoph Hellwig
2024-12-13  1:10   ` [PATCH 37/37] xfs: enable realtime rmap btree Darrick J. Wong
2024-12-13  0:57 ` [PATCHSET v6.0 4/5] xfs: reflink on the realtime device Darrick J. Wong
2024-12-13  1:10   ` [PATCH 01/43] xfs: prepare refcount btree cursor tracepoints for realtime Darrick J. Wong
2024-12-13  9:06     ` Christoph Hellwig
2024-12-13  1:10   ` [PATCH 02/43] xfs: namespace the maximum length/refcount symbols Darrick J. Wong
2024-12-13  9:06     ` Christoph Hellwig
2024-12-13  1:11   ` [PATCH 03/43] xfs: introduce realtime refcount btree ondisk definitions Darrick J. Wong
2024-12-13  9:08     ` Christoph Hellwig
2024-12-17 20:44       ` Darrick J. Wong
2024-12-13  1:11   ` [PATCH 04/43] xfs: realtime refcount btree transaction reservations Darrick J. Wong
2024-12-13  9:08     ` Christoph Hellwig
2024-12-13  1:11   ` [PATCH 05/43] xfs: add realtime refcount btree operations Darrick J. Wong
2024-12-13  9:09     ` Christoph Hellwig
2024-12-13  1:11   ` [PATCH 06/43] xfs: prepare refcount functions to deal with rtrefcountbt Darrick J. Wong
2024-12-13  9:09     ` Christoph Hellwig
2024-12-13  1:12   ` [PATCH 07/43] xfs: add a realtime flag to the refcount update log redo items Darrick J. Wong
2024-12-13  9:10     ` Christoph Hellwig
2024-12-13  1:12   ` [PATCH 08/43] xfs: support recovering refcount intent items targetting realtime extents Darrick J. Wong
2024-12-13  9:10     ` Christoph Hellwig
2024-12-13  1:12   ` [PATCH 09/43] xfs: add realtime refcount btree block detection to log recovery Darrick J. Wong
2024-12-13  9:10     ` Christoph Hellwig
2024-12-13  1:12   ` [PATCH 10/43] xfs: add realtime refcount btree inode to metadata directory Darrick J. Wong
2024-12-13  9:10     ` Christoph Hellwig
2024-12-13  1:13   ` [PATCH 11/43] xfs: add metadata reservations for realtime refcount btree Darrick J. Wong
2024-12-13  9:11     ` Christoph Hellwig
2024-12-13  1:13   ` [PATCH 12/43] xfs: wire up a new metafile type for the realtime refcount Darrick J. Wong
2024-12-13  9:11     ` Christoph Hellwig
2024-12-13  1:13   ` [PATCH 13/43] xfs: refactor xfs_reflink_find_shared Darrick J. Wong
2024-12-13  1:13   ` [PATCH 14/43] xfs: wire up realtime refcount btree cursors Darrick J. Wong
2024-12-13  9:12     ` Christoph Hellwig
2024-12-13  9:12     ` Christoph Hellwig
2024-12-13  1:14   ` [PATCH 15/43] xfs: create routine to allocate and initialize a realtime refcount btree inode Darrick J. Wong
2024-12-13  9:12     ` Christoph Hellwig
2024-12-13  1:14   ` [PATCH 16/43] xfs: update rmap to allow cow staging extents in the rt rmap Darrick J. Wong
2024-12-13  9:13     ` Christoph Hellwig
2024-12-13  1:14   ` [PATCH 17/43] xfs: compute rtrmap btree max levels when reflink enabled Darrick J. Wong
2024-12-13  9:13     ` Christoph Hellwig
2024-12-13  1:14   ` [PATCH 18/43] xfs: refactor reflink quota updates Darrick J. Wong
2024-12-13  9:13     ` Christoph Hellwig
2024-12-13  1:15   ` [PATCH 19/43] xfs: enable CoW for realtime data Darrick J. Wong
2024-12-13  9:14     ` Christoph Hellwig
2024-12-13  1:15   ` [PATCH 20/43] xfs: enable sharing of realtime file blocks Darrick J. Wong
2024-12-13  9:14     ` Christoph Hellwig
2024-12-13  1:15   ` [PATCH 21/43] xfs: allow inodes to have the realtime and reflink flags Darrick J. Wong
2024-12-13  9:15     ` Christoph Hellwig
2024-12-13  1:15   ` [PATCH 22/43] xfs: recover CoW leftovers in the realtime volume Darrick J. Wong
2024-12-13  9:15     ` Christoph Hellwig
2024-12-13  1:16   ` [PATCH 23/43] xfs: fix xfs_get_extsz_hint behavior with realtime alwayscow files Darrick J. Wong
2024-12-13  9:16     ` Christoph Hellwig
2024-12-13  1:16   ` [PATCH 24/43] xfs: apply rt extent alignment constraints to CoW extsize hint Darrick J. Wong
2024-12-13  9:16     ` Christoph Hellwig
2024-12-13  1:16   ` [PATCH 25/43] xfs: enable extent size hints for CoW operations Darrick J. Wong
2024-12-13  9:17     ` Christoph Hellwig
2024-12-13  1:17   ` [PATCH 26/43] xfs: check that the rtrefcount maxlevels doesn't increase when growing fs Darrick J. Wong
2024-12-13  9:17     ` Christoph Hellwig
2024-12-13  1:17   ` [PATCH 27/43] xfs: report realtime refcount btree corruption errors to the health system Darrick J. Wong
2024-12-13  9:17     ` Christoph Hellwig
2024-12-13  1:17   ` [PATCH 28/43] xfs: scrub the realtime refcount btree Darrick J. Wong
2024-12-13  9:18     ` Christoph Hellwig
2024-12-17 20:55       ` Darrick J. Wong
2024-12-18  6:55         ` Christoph Hellwig
2024-12-13  1:17   ` [PATCH 29/43] xfs: cross-reference checks with the rt " Darrick J. Wong
2024-12-13  9:18     ` Christoph Hellwig
2024-12-13  1:18   ` [PATCH 30/43] xfs: allow overlapping rtrmapbt records for shared data extents Darrick J. Wong
2024-12-13  9:19     ` Christoph Hellwig
2024-12-13  1:18   ` [PATCH 31/43] xfs: check reference counts of gaps between rt refcount records Darrick J. Wong
2024-12-13  9:19     ` Christoph Hellwig
2024-12-13  1:18   ` [PATCH 32/43] xfs: allow dquot rt block count to exceed rt blocks on reflink fs Darrick J. Wong
2024-12-13  9:19     ` Christoph Hellwig
2024-12-13  1:18   ` [PATCH 33/43] xfs: detect and repair misaligned rtinherit directory cowextsize hints Darrick J. Wong
2024-12-13  9:20     ` Christoph Hellwig
2024-12-13  1:19   ` [PATCH 34/43] xfs: scrub the metadir path of rt refcount btree files Darrick J. Wong
2024-12-13  9:20     ` Christoph Hellwig
2024-12-13  1:19   ` [PATCH 35/43] xfs: don't flag quota rt block usage on rtreflink filesystems Darrick J. Wong
2024-12-13  9:20     ` Christoph Hellwig
2024-12-13  1:19   ` [PATCH 36/43] xfs: check new rtbitmap records against rt refcount btree Darrick J. Wong
2024-12-13  9:21     ` Christoph Hellwig
2024-12-13  1:19   ` [PATCH 37/43] xfs: walk the rt reference count tree when rebuilding rmap Darrick J. Wong
2024-12-13  1:20   ` [PATCH 38/43] xfs: capture realtime CoW staging extents when rebuilding rt rmapbt Darrick J. Wong
2024-12-13  9:21     ` Christoph Hellwig
2024-12-13  1:20   ` [PATCH 39/43] xfs: online repair of the realtime refcount btree Darrick J. Wong
2024-12-13  9:22     ` Christoph Hellwig
2024-12-13  1:20   ` [PATCH 40/43] xfs: repair inodes that have a refcount btree in the data fork Darrick J. Wong
2024-12-13  9:22     ` Christoph Hellwig
2024-12-13  1:20   ` [PATCH 41/43] xfs: check for shared rt extents when rebuilding rt file's " Darrick J. Wong
2024-12-13  9:23     ` Christoph Hellwig
2024-12-13  1:21   ` [PATCH 42/43] xfs: fix CoW forks for realtime files Darrick J. Wong
2024-12-13  9:24     ` Christoph Hellwig
2024-12-13  1:21   ` [PATCH 43/43] xfs: enable realtime reflink Darrick J. Wong
2024-12-13  9:25     ` Christoph Hellwig
2024-12-17 20:57       ` Darrick J. Wong
2024-12-13  0:57 ` [PATCHSET v6.0 5/5] xfs: reflink with large realtime extents Darrick J. Wong
2024-12-13  1:21   ` [PATCH 01/11] vfs: explicitly pass the block size to the remap prep function Darrick J. Wong
2024-12-13  1:21   ` [PATCH 02/11] iomap: allow zeroing of written extents beyond EOF Darrick J. Wong
2024-12-13  1:22   ` [PATCH 03/11] xfs: convert partially written rt file extents to completely written Darrick J. Wong
2024-12-13  1:22   ` [PATCH 04/11] xfs: enable CoW when rt extent size is larger than 1 block Darrick J. Wong
2024-12-13  1:22   ` [PATCH 05/11] xfs: forcibly convert unwritten blocks within an rt extent before sharing Darrick J. Wong
2024-12-13  1:23   ` [PATCH 06/11] xfs: add some tracepoints for writeback Darrick J. Wong
2024-12-13  1:23   ` [PATCH 07/11] xfs: extend writeback requests to handle rt cow correctly Darrick J. Wong
2024-12-13  1:23   ` [PATCH 08/11] xfs: enable extent size hints for CoW when rtextsize > 1 Darrick J. Wong
2024-12-13  1:23   ` [PATCH 09/11] xfs: allow reflink on the rt volume when extent size is larger than 1 rt block Darrick J. Wong
2024-12-13  1:24   ` [PATCH 10/11] xfs: fix integer overflow when validating extent size hints Darrick J. Wong
2024-12-13  1:24   ` [PATCH 11/11] xfs: support realtime reflink with an extent size that isn't a power of 2 Darrick J. Wong
2024-12-13  8:30   ` [PATCHSET v6.0 5/5] xfs: reflink with large realtime extents Christoph Hellwig
2024-12-17 21:05     ` Darrick J. Wong
2024-12-19 19:14 ` [PATCHBOMB 6.14 v6.1] xfs: realtime rmap and reflink Darrick J. Wong
  -- strict thread matches above, loose matches on Subject: below --
2024-12-19 19:20 [PATCHSET v6.1 5/5] xfs: reflink on the realtime device Darrick J. Wong
2024-12-19 19:38 ` [PATCH 21/43] xfs: allow inodes to have the realtime and reflink flags Darrick J. Wong
2024-12-23 22:53 [PATCHSET v6.2 5/5] xfs: reflink on the realtime device Darrick J. Wong
2024-12-23 23:11 ` [PATCH 21/43] xfs: allow inodes to have the realtime and reflink flags Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox