diff options
author | NeilBrown <neilb@suse.de> | 2006-07-10 07:44:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-10 16:24:16 -0400 |
commit | f4370781d83cd2e52eb515e4663155e8091e4d4e (patch) | |
tree | bb10a0abec68746204cac32dc4839c1b41df3d41 /drivers/md | |
parent | 894673ee6122a3ce1958e1fe096901ba5356a96b (diff) |
[PATCH] md: possible fix for unplug problem
I have reports of a problem with raid5 which turns out to be because the raid5
device gets stuck in a 'plugged' state. This shouldn't be able to happen as
3msec after it gets plugged it should get unplugged. However it happens
none-the-less. This patch fixes the problem and is a reasonable thing to do,
though it might hurt performance slightly in some cases.
Until I can find the real problem, we should probably have this workaround in
place.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/raid5.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 7433871f4b3a..5764387c6989 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -270,7 +270,7 @@ static struct stripe_head *get_active_stripe(raid5_conf_t *conf, sector_t sector | |||
270 | < (conf->max_nr_stripes *3/4) | 270 | < (conf->max_nr_stripes *3/4) |
271 | || !conf->inactive_blocked), | 271 | || !conf->inactive_blocked), |
272 | conf->device_lock, | 272 | conf->device_lock, |
273 | unplug_slaves(conf->mddev) | 273 | raid5_unplug_device(conf->mddev->queue) |
274 | ); | 274 | ); |
275 | conf->inactive_blocked = 0; | 275 | conf->inactive_blocked = 0; |
276 | } else | 276 | } else |