[PATCHSET v22 0/5] xfs: online repair hard problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

This series tackles hard problems for online repair to solve.  Hard
problems are defined as ones that cannot be done without running afoul
of the regular xfs locking and synchronization rules.

We solve these problems by adding ability to freeze the filesystem to
perform a scrub operation, and then we add a couple more repair
functions to deal with incorrect fs summary counters and rebuild reverse
mapping btrees.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  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=repair-hard-problems

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-hard-problems

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=repair-hard-problems
---
 fs/xfs/Makefile                  |    2 
 fs/xfs/libxfs/xfs_bmap.c         |   34 +
 fs/xfs/libxfs/xfs_bmap.h         |    8 
 fs/xfs/libxfs/xfs_fs.h           |    6 
 fs/xfs/scrub/bitmap.c            |   14 
 fs/xfs/scrub/bitmap.h            |    1 
 fs/xfs/scrub/common.c            |   91 +++
 fs/xfs/scrub/common.h            |    2 
 fs/xfs/scrub/fscounters.c        |   90 ++-
 fs/xfs/scrub/fscounters_repair.c |   63 ++
 fs/xfs/scrub/repair.c            |   27 +
 fs/xfs/scrub/repair.h            |   17 
 fs/xfs/scrub/rmap.c              |    6 
 fs/xfs/scrub/rmap_repair.c       | 1344 ++++++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/scrub.c             |   14 
 fs/xfs/scrub/scrub.h             |    1 
 fs/xfs/scrub/trace.h             |   51 +
 fs/xfs/xfs_icache.c              |    3 
 fs/xfs/xfs_icache.h              |    6 
 fs/xfs/xfs_mount.h               |    7 
 fs/xfs/xfs_super.c               |   47 +
 fs/xfs/xfs_trans.c               |    5 
 22 files changed, 1796 insertions(+), 43 deletions(-)
 create mode 100644 fs/xfs/scrub/fscounters_repair.c
 create mode 100644 fs/xfs/scrub/rmap_repair.c




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux