• Kent Overstreet's avatar
    bcachefs: New erasure coding shutdown path · b40901b0
    Kent Overstreet authored
    This implements a new shutdown path for erasure coding, which is needed
    for the upcoming BCH_WRITE_WAIT_FOR_EC write path.
    
    The process is:
     - Cancel new stripes being built up
     - Close out/cancel open buckets on write points or the partial list
       that are for stripes
     - Shutdown rebalance/copygc
     - Then wait for in flight new stripes to finish
    
    With BCH_WRITE_WAIT_FOR_EC, move ops will be waiting on stripes to fill
    up before they complete; the new ec shutdown path is needed for shutting
    down copygc/rebalance without deadlocking.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    b40901b0
ec.h 6.49 KB