• Zhao Lei's avatar
    btrfs: Check cancel and pause in interval of scrub operation · f2f66a2f
    Zhao Lei authored
    Old code checking cancel and pause request inside scrub stripe
    operation, like:
      loop() {
        if (parity) {
          scrub_parity_stripe();
          continue;
        }
    
        check_cancel_and_pause()
    
        scrub_normal_stripe();
      }
    
    Reason is when introduce raid56 stripe scrub, new code is inserted
    simplely to front of loop.
    
    Better to:
      loop() {
        check_cancel_and_pause()
    
        if (parity)
          scrub_parity_stripe();
        else
          scrub_normal_stripe();
      }
    
    This patch adjusted code place to realize above sequence.
    Signed-off-by: default avatarZhao Lei <zhaolei@cn.fujitsu.com>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    f2f66a2f
scrub.c 111 KB