diff options
author | NeilBrown <neilb@suse.de> | 2006-10-21 13:24:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-21 16:35:05 -0400 |
commit | 2e333e89860431d22816c1bdaa2ea72c2753396e (patch) | |
tree | df1a82cc995ec45936bf9ded1f57166f5f8e1ee9 /drivers/md | |
parent | 3c5473f80770768ab5712eb5a7492c16e97209fe (diff) |
[PATCH] md: fix calculation of ->degraded for multipath and raid10
Two less-used md personalities have bugs in the calculation of ->degraded (the
extent to which the array is degraded).
Signed-off-by: Neil Brown <neilb@suse.de>
Cc: <stable@kernel.org>
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/multipath.c | 2 | ||||
-rw-r--r-- | drivers/md/raid10.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c index 171ff41b52b0..a6260f0e3b9e 100644 --- a/drivers/md/multipath.c +++ b/drivers/md/multipath.c | |||
@@ -501,7 +501,7 @@ static int multipath_run (mddev_t *mddev) | |||
501 | mdname(mddev)); | 501 | mdname(mddev)); |
502 | goto out_free_conf; | 502 | goto out_free_conf; |
503 | } | 503 | } |
504 | mddev->degraded = conf->raid_disks = conf->working_disks; | 504 | mddev->degraded = conf->raid_disks - conf->working_disks; |
505 | 505 | ||
506 | conf->pool = mempool_create_kzalloc_pool(NR_RESERVED_BUFS, | 506 | conf->pool = mempool_create_kzalloc_pool(NR_RESERVED_BUFS, |
507 | sizeof(struct multipath_bh)); | 507 | sizeof(struct multipath_bh)); |
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 1250f0eab4af..74f17a9a6ebb 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -2079,7 +2079,7 @@ static int run(mddev_t *mddev) | |||
2079 | disk = conf->mirrors + i; | 2079 | disk = conf->mirrors + i; |
2080 | 2080 | ||
2081 | if (!disk->rdev || | 2081 | if (!disk->rdev || |
2082 | !test_bit(In_sync, &rdev->flags)) { | 2082 | !test_bit(In_sync, &disk->rdev->flags)) { |
2083 | disk->head_position = 0; | 2083 | disk->head_position = 0; |
2084 | mddev->degraded++; | 2084 | mddev->degraded++; |
2085 | } | 2085 | } |