diff options
author | shli@kernel.org <shli@kernel.org> | 2014-12-15 12:57:04 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-04-22 08:00:41 +1000 |
commit | dabc4ec6ba72418ebca6bf1884f344bba40c8709 (patch) | |
tree | 7860792d9a7b5043c043eea983d218591bbe06f5 /drivers/md/raid5.h | |
parent | 72ac733015bbdc0356ba3e92c52137a265910a91 (diff) | |
download | linux-dabc4ec6ba72418ebca6bf1884f344bba40c8709.tar.gz linux-dabc4ec6ba72418ebca6bf1884f344bba40c8709.tar.bz2 linux-dabc4ec6ba72418ebca6bf1884f344bba40c8709.zip |
raid5: handle expansion/resync case with stripe batching
expansion/resync can grab a stripe when the stripe is in batch list. Since all
stripes in batch list must be in the same state, we can't allow some stripes
run into expansion/resync. So we delay expansion/resync for stripe in batch
list.
Signed-off-by: Shaohua Li <shli@fusionio.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.h')
-rw-r--r-- | drivers/md/raid5.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h index cf3562e99440..ee65ed844d3f 100644 --- a/drivers/md/raid5.h +++ b/drivers/md/raid5.h @@ -339,6 +339,11 @@ enum { STRIPE_BATCH_ERR, }; +#define STRIPE_EXPAND_SYNC_FLAG \ + ((1 << STRIPE_EXPAND_SOURCE) |\ + (1 << STRIPE_EXPAND_READY) |\ + (1 << STRIPE_EXPANDING) |\ + (1 << STRIPE_SYNC_REQUESTED)) /* * Operation request flags */ |