raid5: add a new state for stripe log handling
authorShaohua Li <shli@fb.com>
Thu, 13 Aug 2015 21:31:58 +0000 (14:31 -0700)
committerNeilBrown <neilb@suse.com>
Sat, 24 Oct 2015 06:16:19 +0000 (17:16 +1100)
commitb70abcb24711d1327a8a505ab3e931c24cbab0a7
treea7acca4e476a5e6166eaf41d34066221b66f67be
parent6d036f7d52e5a9c3b2ff77883db4c34620681804
raid5: add a new state for stripe log handling

When a stripe finishes construction, we write the stripe to raid in
ops_run_io normally. With log, we do a bunch of other operations before
the stripe is written to raid. Mainly write the stripe to log disk,
flush disk cache and so on. The operations are still driven by raid5d
and run in the stripe state machine. We introduce a new state for such
stripe (trapped into log). The stripe is in this state from the time it
first enters ops_run_io (finish construction) to the time it is written
to raid. Since we know the state is only for log, we bypass other
check/operation in handle_stripe.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
drivers/md/raid5.c
drivers/md/raid5.h