All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] xfsprogs: add xfs_repair -R --- log replay
@ 2026-08-30 17:15 Chris Wedgwood
  2026-08-21  0:22 ` [PATCH 1/9] libxfs: make XBF_DONE actually mark a buffer uptodate Chris Wedgwood
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Chris Wedgwood @ 2026-08-30 17:15 UTC (permalink / raw)
  To: linux-xfs

Adds xfs_repair -R: replay the log then repair, without mounting and
without discarding it as -L does.  Patches 1-2 are standalone fixes; 3-9
implement -R, importing log recovery from v7.1 fs/xfs into libxlog/.

Chris Wedgwood (9):
  libxfs: make XBF_DONE actually mark a buffer uptodate
  libxfs: don't corrupt a delwri list when a buffer is queued twice
  libxfs: record a failed buffer write when it fails
  libxlog: rename xfs_log_recover.c to logscan.c
  libxlog: import the kernel's log recovery, log items and AIL
  libxfs-diff: also compare libxlog against the kernel
  libxlog: build the imported kernel code
  xfs_repair: add -R to replay a dirty log before repairing
  xfs_repair: finish deletions the crash interrupted

 db/logformat.c                   |    6 +-
 include/Makefile                 |    1 +
 include/atomic.h                 |    2 +
 include/builddefs.in             |    1 +
 include/hlist.h                  |   39 +-
 include/kernel_compat.h          |  231 +++
 include/kmem.h                   |   19 +
 include/libxfs.h                 |    2 +-
 include/libxlog.h                |   39 +-
 include/list.h                   |    7 +
 include/platform_defs.h          |   11 +-
 include/spinlock.h               |   18 +-
 include/xfs_inode.h              |    3 +
 include/xfs_mount.h              |    9 +-
 include/xfs_trace.h              |   30 +
 include/xfs_trans.h              |  118 +-
 libfrog/bitmask.h                |   17 +-
 libfrog/div64.h                  |    7 +
 libxfs/Makefile                  |   20 +-
 libxfs/defer_item.c              |  995 ---------
 libxfs/defer_item.h              |   56 -
 libxfs/inactive.c                |  181 ++
 libxfs/init.c                    |   73 +
 libxfs/inode.c                   |   43 +
 libxfs/libxfs_io.h               |   15 +
 libxfs/logitem.c                 |  204 +-
 libxfs/rdwr.c                    |  183 +-
 libxfs/trans.c                   |   34 +-
 libxfs/util.c                    |    8 +-
 libxfs/xfs_alloc.c               |    2 +-
 libxfs/xfs_attr.c                |    2 +-
 libxfs/xfs_bmap.c                |    2 +-
 libxfs/xfs_defer.c               |    4 +
 libxfs/xfs_exchmaps.c            |    2 +-
 libxfs/xfs_ialloc.c              |    3 +
 libxfs/xfs_parent.c              |    2 +-
 libxfs/xfs_platform.h            |   21 +-
 libxfs/xfs_refcount.c            |    2 +-
 libxfs/xfs_rmap.c                |    2 +-
 libxfs/xfs_trans_resv.c          |    7 +-
 libxlog/Makefile                 |   14 +-
 libxlog/logscan.c                | 1650 +++++++++++++++
 libxlog/util.c                   |   34 +-
 libxlog/xfs_attr_item.c          | 1206 +++++++++++
 libxlog/xfs_attr_item.h          |   64 +
 libxlog/xfs_bmap_item.c          |  718 +++++++
 libxlog/xfs_bmap_item.h          |   78 +
 libxlog/xfs_buf_item.h           |   71 +
 libxlog/xfs_buf_item_recover.c   | 1215 +++++++++++
 libxlog/xfs_dquot_item_recover.c |  214 ++
 libxlog/xfs_exchmaps_item.c      |  608 ++++++
 libxlog/xfs_exchmaps_item.h      |   64 +
 libxlog/xfs_extfree_item.c       | 1026 +++++++++
 libxlog/xfs_extfree_item.h       |  100 +
 libxlog/xfs_icreate_item.c       |  260 +++
 libxlog/xfs_icreate_item.h       |   22 +
 libxlog/xfs_inode_item.h         |   62 +
 libxlog/xfs_inode_item_recover.c |  602 ++++++
 libxlog/xfs_log.h                |  147 ++
 libxlog/xfs_log_priv.h           |  746 +++++++
 libxlog/xfs_log_recover.c        | 3308 +++++++++++++++++++++++-------
 libxlog/xfs_refcount_item.c      |  861 ++++++++
 libxlog/xfs_refcount_item.h      |   82 +
 libxlog/xfs_rmap_item.c          |  890 ++++++++
 libxlog/xfs_rmap_item.h          |   81 +
 libxlog/xfs_trans_ail.c          |  978 +++++++++
 libxlog/xfs_trans_priv.h         |  170 ++
 logprint/log_misc.c              |    4 +-
 logprint/log_print_all.c         |    2 +-
 logprint/logprint.c              |    2 +-
 logprint/logprint.h              |    2 +-
 man/man8/xfs_repair.8            |   68 +-
 repair/globals.c                 |    1 +
 repair/globals.h                 |    1 +
 repair/phase2.c                  |  246 ++-
 repair/xfs_repair.c              |   24 +-
 tools/libxfs-diff                |   11 +
 77 files changed, 16157 insertions(+), 1896 deletions(-)
 create mode 100644 include/kernel_compat.h
 delete mode 100644 libxfs/defer_item.c
 delete mode 100644 libxfs/defer_item.h
 create mode 100644 libxfs/inactive.c
 create mode 100644 libxlog/logscan.c
 create mode 100644 libxlog/xfs_attr_item.c
 create mode 100644 libxlog/xfs_attr_item.h
 create mode 100644 libxlog/xfs_bmap_item.c
 create mode 100644 libxlog/xfs_bmap_item.h
 create mode 100644 libxlog/xfs_buf_item.h
 create mode 100644 libxlog/xfs_buf_item_recover.c
 create mode 100644 libxlog/xfs_dquot_item_recover.c
 create mode 100644 libxlog/xfs_exchmaps_item.c
 create mode 100644 libxlog/xfs_exchmaps_item.h
 create mode 100644 libxlog/xfs_extfree_item.c
 create mode 100644 libxlog/xfs_extfree_item.h
 create mode 100644 libxlog/xfs_icreate_item.c
 create mode 100644 libxlog/xfs_icreate_item.h
 create mode 100644 libxlog/xfs_inode_item.h
 create mode 100644 libxlog/xfs_inode_item_recover.c
 create mode 100644 libxlog/xfs_log.h
 create mode 100644 libxlog/xfs_log_priv.h
 create mode 100644 libxlog/xfs_refcount_item.c
 create mode 100644 libxlog/xfs_refcount_item.h
 create mode 100644 libxlog/xfs_rmap_item.c
 create mode 100644 libxlog/xfs_rmap_item.h
 create mode 100644 libxlog/xfs_trans_ail.c
 create mode 100644 libxlog/xfs_trans_priv.h


base-commit: d6d4236027e31e9a54fd3916ff130b1d41e78027
-- 
2.47.3


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

end of thread, other threads:[~2026-09-02 23:57 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-30 17:15 [PATCH 0/9] xfsprogs: add xfs_repair -R --- log replay Chris Wedgwood
2026-08-21  0:22 ` [PATCH 1/9] libxfs: make XBF_DONE actually mark a buffer uptodate Chris Wedgwood
2026-08-31 13:37   ` Christoph Hellwig
2026-08-21  0:26 ` [PATCH 2/9] libxfs: don't corrupt a delwri list when a buffer is queued twice Chris Wedgwood
2026-08-31 13:38   ` Christoph Hellwig
2026-08-21  5:42 ` [PATCH 3/9] libxfs: record a failed buffer write when it fails Chris Wedgwood
2026-08-31 13:39   ` Christoph Hellwig
2026-08-27  5:08 ` [PATCH 6/9] libxfs-diff: also compare libxlog against the kernel Chris Wedgwood
2026-08-31 13:40   ` Christoph Hellwig
2026-08-31 17:37     ` Darrick J. Wong
2026-09-02 23:25       ` Dave Chinner
2026-08-27  5:08 ` [PATCH 4/9] libxlog: rename xfs_log_recover.c to logscan.c Chris Wedgwood
2026-08-31 13:42   ` Christoph Hellwig
2026-08-27  5:09 ` [PATCH 5/9] libxlog: import the kernel's log recovery, log items and AIL Chris Wedgwood
2026-08-31 13:45   ` Christoph Hellwig
2026-09-02 23:48   ` Dave Chinner
2026-08-27  5:24 ` [PATCH 7/9] libxlog: build the imported kernel code Chris Wedgwood
2026-08-31 13:46   ` Christoph Hellwig
2026-08-27  5:25 ` [PATCH 8/9] xfs_repair: add -R to replay a dirty log before repairing Chris Wedgwood
2026-08-31 13:48   ` Christoph Hellwig
2026-09-02 23:57   ` Dave Chinner
2026-08-27  5:48 ` [PATCH 9/9] xfs_repair: finish deletions the crash interrupted Chris Wedgwood
2026-08-31 13:50   ` Christoph Hellwig
2026-08-31 13:36 ` [PATCH 0/9] xfsprogs: add xfs_repair -R --- log replay Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.