The handling of unlinked files with snapshots was a bit fubar -
especially if an unlinked file was then reattached in a newer snapshot.
This adds an inode flag so that we can track when an inode should, or
should not be deleted due to snapshots, when a newer snapshot still
refers to data in an unlinked file.

Kent Overstreet (5):
  bcachefs: Split out check_unreachable_inodes() pass
  bcachefs: reattach_inode() now correctly handles interior snapshot
    nodes
  bcachefs: btree_iter_peek_upto() now handles BTREE_ITER_all_snapshots
  bcachefs: Delete vestigal check_inode() checks
  bcachefs: bcachefs_metadata_version_inode_has_child_snapshots

 fs/bcachefs/bcachefs_format.h       |   3 +-
 fs/bcachefs/btree_iter.c            |   6 +-
 fs/bcachefs/btree_iter.h            |   8 +
 fs/bcachefs/fs.c                    |  21 +-
 fs/bcachefs/fs.h                    |   9 +-
 fs/bcachefs/fsck.c                  | 377 +++++++++++++++++-----------
 fs/bcachefs/fsck.h                  |   1 +
 fs/bcachefs/inode.c                 | 233 ++++++++++++++---
 fs/bcachefs/inode.h                 |  10 +
 fs/bcachefs/inode_format.h          |   3 +-
 fs/bcachefs/recovery_passes_types.h |   1 +
 fs/bcachefs/sb-downgrade.c          |   5 +-
 fs/bcachefs/sb-errors_format.h      |   4 +-
 13 files changed, 482 insertions(+), 199 deletions(-)

-- 
2.45.2


Reply via email to