md/raid10: properly indicate failure when ending a failed write request
commit 5ba03936c05584b6f6f79be5ebe7e5036c1dd252 upstream.
Similar to [1], this patch fixes the same bug in raid10. Also cleanup the
comments.
[1] commit 2417b9869b81 ("md/raid1: properly indicate failure when ending
a failed write request")
Cc: stable@vger.kernel.org
Fixes: 7cee6d4e60
("md/raid10: end bio when the device faulty")
Signed-off-by: Wei Shuyu <wsy@dogben.com>
Acked-by: Guoqing Jiang <jiangguoqing@kylinos.cn>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
790cb68d35
commit
1b7b9713a5
|
@ -452,8 +452,6 @@ static void raid1_end_write_request(struct bio *bio)
|
||||||
/*
|
/*
|
||||||
* When the device is faulty, it is not necessary to
|
* When the device is faulty, it is not necessary to
|
||||||
* handle write error.
|
* handle write error.
|
||||||
* For failfast, this is the only remaining device,
|
|
||||||
* We need to retry the write without FailFast.
|
|
||||||
*/
|
*/
|
||||||
if (!test_bit(Faulty, &rdev->flags))
|
if (!test_bit(Faulty, &rdev->flags))
|
||||||
set_bit(R1BIO_WriteError, &r1_bio->state);
|
set_bit(R1BIO_WriteError, &r1_bio->state);
|
||||||
|
|
|
@ -470,12 +470,12 @@ static void raid10_end_write_request(struct bio *bio)
|
||||||
/*
|
/*
|
||||||
* When the device is faulty, it is not necessary to
|
* When the device is faulty, it is not necessary to
|
||||||
* handle write error.
|
* handle write error.
|
||||||
* For failfast, this is the only remaining device,
|
|
||||||
* We need to retry the write without FailFast.
|
|
||||||
*/
|
*/
|
||||||
if (!test_bit(Faulty, &rdev->flags))
|
if (!test_bit(Faulty, &rdev->flags))
|
||||||
set_bit(R10BIO_WriteError, &r10_bio->state);
|
set_bit(R10BIO_WriteError, &r10_bio->state);
|
||||||
else {
|
else {
|
||||||
|
/* Fail the request */
|
||||||
|
set_bit(R10BIO_Degraded, &r10_bio->state);
|
||||||
r10_bio->devs[slot].bio = NULL;
|
r10_bio->devs[slot].bio = NULL;
|
||||||
to_put = bio;
|
to_put = bio;
|
||||||
dec_rdev = 1;
|
dec_rdev = 1;
|
||||||
|
|
Loading…
Reference in New Issue