CephFS fsck tickets

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

 




Lots of new tickets in tracker related to forward scrub, this is a handly list (mainly for Greg and myself) that maps to the notes from our design discussion. They're all under the 'fsck' category in tracker.

John



Tagging
prerequisite:
 - forward scrub (traverse tree, at least)

 #12255
 - create "scrub header" or "scrub map" in MDLog, like subtreemap, make
   scrub startup wait until this is written before going ahead

#12257
 - add recovery of scrub header during MDS replay, and re-start
   any scrubs that were ongoing

#12258
- add tagged-scrub command taking <path> <tag>

#12273
 - actually apply the tag during the RADOS op for reading something


#12274
- start the process from all subtree roots on all MDSs, and skip non-auth regions
#12275
 - block migration during tagging scrub
 OR
 - when migrating, look up to parent subtree and send along info about
   the scrub if we haven't been scrubbed in this tag yet

 - handle MDS rank shutdown vs. ongoing scrub

Backtrace handling
#12277
- during backward scrub, tag our parent with the most recent
   backtrace seen, even if we already created it with a less
   recent backtrace (set_if_greater on a backtrace xattr) as
   a hint to a subsequent forward scrub step
   (ready for this now)
#12278
 - during forward scrub, look at these hints, and move folders
   around if we have more recent linkage information from the backtrace
   (maybe wait to do this later, it's a corner)

Backward scrub online
#12279
 - Add hooks to MDS to enable backward scrub to lookup_ino and work out
   if an "orphaned ino" is actually orphaned or just more recently
   created than the last scrub.
 - Add hooks to MDS to enable injection to be done online (i.e. inject
   linkage RPC)
#12280
 - Use hooks from backward scrub in a new mode that is readonly on the
   RADOS pools, and mediates all writes through running MDS.

Handling purged strays:
#12281
 * StrayManager needs to respect PIN_SCRUBQUEUE (remove it from the scrub
 stack before purging it) and the Locker locks that scrubstack uses (don't
 purge it until the ongoing scrub RADOS ops are done)
(added a note to #11950)
 * if/when we add purgequeue, #11950, backward scrub will also need to
 interrogate that to determine non-orphan-ness of an inode, or enforce
 that it gets flushed before doing anything.

#11859 - DamageTable

Status & scheduling
#12282
 - List/progress/abort/pause commands for ongoing scrub
#12283
 - Time of day scheduling for scrub
#12284
- Deprioritise/pause scrub on highly loaded systems (loaded MDS, loaded RADOS)
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux