raid5: delayed stripe fix
authorShaohua Li <shli@kernel.org>
Tue, 3 Jul 2012 05:57:19 +0000 (15:57 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 3 Jul 2012 05:57:19 +0000 (15:57 +1000)
commitfab363b5ff502d1b39ddcfec04271f5858d9f26e
treeb9d247b33102421f46b21462cd569853cb926fdb
parent2e8ac30312973dd20e6807365349ecb1c7e0ea45
raid5: delayed stripe fix

There isn't locking setting STRIPE_DELAYED and STRIPE_PREREAD_ACTIVE bits, but
the two bits have relationship. A delayed stripe can be moved to hold list only
when preread active stripe count is below IO_THRESHOLD. If a stripe has both
the bits set, such stripe will be in delayed list and preread count not 0,
which will make such stripe never leave delayed list.

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