• Kent Overstreet's avatar
    bcachefs: Improve -o norecovery; opts.recovery_pass_limit · 13c1e583
    Kent Overstreet authored
    This adds opts.recovery_pass_limit, and redoes -o norecovery to make use
    of it; this fixes some issues with -o norecovery so it can be safely
    used for data recovery.
    
    Norecovery means "don't do journal replay"; it's an important data
    recovery tool when we're getting stuck in journal replay.
    
    When using it this way we need to make sure we don't free journal keys
    after startup, so we continue to overlay them: thus it needs to imply
    retain_recovery_info, as well as nochanges.
    
    recovery_pass_limit is an explicit option for telling recovery to exit
    after a specific recovery pass; this is a much cleaner way of
    implementing -o norecovery, as well as being a useful debug feature in
    its own right.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    13c1e583
opts.h 19.2 KB