tree bdacc73dabeab49648b13a2a9df5b66032682e70
parent 78fa177029802f7f10953d357067171f39a79b81
author Zhao Lei <zhaolei@cn.fujitsu.com> 1437452549 +0800
committer Chris Mason <clm@fb.com> 1439129231 -0700

btrfs: Check cancel and pause in interval of scrub operation

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: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
