summaryrefslogtreecommitdiffstats
path: root/crypto/khazad.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2013-03-04 02:37:14 +0100
committerNeilBrown <neilb@suse.de>2013-03-20 02:16:51 +0100
commitce7d363aaf1e28be8406a2976220944ca487e8ca (patch)
tree2f098d1ddf1165fffc3d9ae74c91684b78bb1072 /crypto/khazad.c
parentmd: expedite metadata update when switching read-auto -> active (diff)
downloadlinux-ce7d363aaf1e28be8406a2976220944ca487e8ca.tar.xz
linux-ce7d363aaf1e28be8406a2976220944ca487e8ca.zip
md/raid5: schedule_construction should abort if nothing to do.
Since commit 1ed850f356a0a422013846b5291acff08815008b md/raid5: make sure to_read and to_write never go negative. It has been possible for handle_stripe_dirtying to be called when there isn't actually any work to do. It then calls schedule_reconstruction() which will set R5_LOCKED on the parity block(s) even when nothing else is happening. This then causes problems in do_release_stripe(). So add checks to schedule_reconstruction() so that if it doesn't find anything to do, it just aborts. This bug was introduced in v3.7, so the patch is suitable for -stable kernels since then. Cc: stable@vger.kernel.org (v3.7+) Reported-by: majianpeng <majianpeng@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'crypto/khazad.c')
0 files changed, 0 insertions, 0 deletions