All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v10.1 00/15] xfs: online scrub xref support
@ 2017-12-13 23:56 Darrick J. Wong
  2017-12-13 23:56 ` [PATCH 01/15] xfs: add scrub cross-referencing helpers for the free space btrees Darrick J. Wong
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Darrick J. Wong @ 2017-12-13 23:56 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs

Hi all,

This is the tenth revision of a patchset that adds to XFS kernel
support for online metadata scrubbing and repair.  There aren't any
on-disk format changes.  The overview of the online scrub functionality
isn't any different than it was with the first kernel series, so I'll
dive into what's in this set.

Today's submission is the third of four parts; it adds to the various
metadata scrubbers the ability to cross-reference other metadata.  If
a given record has a corresponding record somewhere else (e.g. each
inobt record has a corresponding rmapbt record for inodes) or lacks a
corresponding record elsewhere (e.g. each bmbt record does /not/ match
to any bnobt records) then we can be far more certain of the
filesystem's correctness.  We try to augment each scrubber with as many
cross-reference checks as we possibly can, though we are careful to
avoid deadlocks by taking locks in the wrong order.  In particular, we
cannot check rmap records against inode bmbts (we lock inode and then
AG); we must only check inode bmbt records against the rmap.  This means
that the userspace driver program must be careful not to claim that the
scrub is finished unless it has scanned everything.

If you're going to start using this mess, you probably ought to just
pull from my git trees.  The kernel patches[1] should apply against
4.15-rc3.  xfsprogs[2] and xfstests[3] can be found in their usual
places.  The git trees contain all four series' worth of changes.

This is an extraordinary way to eat your data.  Enjoy!
Comments and questions are, as always, welcome.

--D

[1] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=djwong-devel
[2] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=djwong-devel
[3] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=djwong-devel

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

end of thread, other threads:[~2017-12-13 23:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-13 23:56 [PATCH v10.1 00/15] xfs: online scrub xref support Darrick J. Wong
2017-12-13 23:56 ` [PATCH 01/15] xfs: add scrub cross-referencing helpers for the free space btrees Darrick J. Wong
2017-12-13 23:56 ` [PATCH 02/15] xfs: add scrub cross-referencing helpers for the inode btrees Darrick J. Wong
2017-12-13 23:56 ` [PATCH 03/15] xfs: add scrub cross-referencing helpers for the rmap btrees Darrick J. Wong
2017-12-13 23:56 ` [PATCH 04/15] xfs: add scrub cross-referencing helpers for the refcount btrees Darrick J. Wong
2017-12-13 23:56 ` [PATCH 05/15] xfs: set up scrub cross-referencing helpers Darrick J. Wong
2017-12-13 23:56 ` [PATCH 06/15] xfs: check btree block ownership with bnobt/rmapbt when scrubbing btree Darrick J. Wong
2017-12-13 23:57 ` [PATCH 07/15] xfs: introduce scrubber cross-referencing stubs Darrick J. Wong
2017-12-13 23:57 ` [PATCH 08/15] xfs: cross-reference with the bnobt Darrick J. Wong
2017-12-13 23:57 ` [PATCH 09/15] xfs: cross-reference bnobt records with cntbt Darrick J. Wong
2017-12-13 23:57 ` [PATCH 10/15] xfs: cross-reference inode btrees during scrub Darrick J. Wong
2017-12-13 23:57 ` [PATCH 11/15] xfs: cross-reference reverse-mapping btree Darrick J. Wong
2017-12-13 23:57 ` [PATCH 12/15] xfs: cross-reference the rmapbt data with the refcountbt Darrick J. Wong
2017-12-13 23:57 ` [PATCH 13/15] xfs: cross-reference refcount btree during scrub Darrick J. Wong
2017-12-13 23:57 ` [PATCH 14/15] xfs: cross-reference the realtime bitmap Darrick J. Wong
2017-12-13 23:57 ` [PATCH 15/15] xfs: cross-reference the block mappings when possible Darrick J. Wong

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.