mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-06 22:55:11 +00:00
md/raid1: small code cleanup in end_sync_write
'mirror' is only used to find 'rdev', several times. So just find 'rdev' once, and use it instead. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
parent
e5872d58f5
commit
854abd7584
1 changed files with 4 additions and 10 deletions
|
@ -1709,11 +1709,9 @@ static void end_sync_write(struct bio *bio)
|
||||||
struct r1bio *r1_bio = bio->bi_private;
|
struct r1bio *r1_bio = bio->bi_private;
|
||||||
struct mddev *mddev = r1_bio->mddev;
|
struct mddev *mddev = r1_bio->mddev;
|
||||||
struct r1conf *conf = mddev->private;
|
struct r1conf *conf = mddev->private;
|
||||||
int mirror=0;
|
|
||||||
sector_t first_bad;
|
sector_t first_bad;
|
||||||
int bad_sectors;
|
int bad_sectors;
|
||||||
|
struct md_rdev *rdev = conf->mirrors[find_bio_disk(r1_bio, bio)].rdev;
|
||||||
mirror = find_bio_disk(r1_bio, bio);
|
|
||||||
|
|
||||||
if (!uptodate) {
|
if (!uptodate) {
|
||||||
sector_t sync_blocks = 0;
|
sector_t sync_blocks = 0;
|
||||||
|
@ -1726,16 +1724,12 @@ static void end_sync_write(struct bio *bio)
|
||||||
s += sync_blocks;
|
s += sync_blocks;
|
||||||
sectors_to_go -= sync_blocks;
|
sectors_to_go -= sync_blocks;
|
||||||
} while (sectors_to_go > 0);
|
} while (sectors_to_go > 0);
|
||||||
set_bit(WriteErrorSeen,
|
set_bit(WriteErrorSeen, &rdev->flags);
|
||||||
&conf->mirrors[mirror].rdev->flags);
|
if (!test_and_set_bit(WantReplacement, &rdev->flags))
|
||||||
if (!test_and_set_bit(WantReplacement,
|
|
||||||
&conf->mirrors[mirror].rdev->flags))
|
|
||||||
set_bit(MD_RECOVERY_NEEDED, &
|
set_bit(MD_RECOVERY_NEEDED, &
|
||||||
mddev->recovery);
|
mddev->recovery);
|
||||||
set_bit(R1BIO_WriteError, &r1_bio->state);
|
set_bit(R1BIO_WriteError, &r1_bio->state);
|
||||||
} else if (is_badblock(conf->mirrors[mirror].rdev,
|
} else if (is_badblock(rdev, r1_bio->sector, r1_bio->sectors,
|
||||||
r1_bio->sector,
|
|
||||||
r1_bio->sectors,
|
|
||||||
&first_bad, &bad_sectors) &&
|
&first_bad, &bad_sectors) &&
|
||||||
!is_badblock(conf->mirrors[r1_bio->read_disk].rdev,
|
!is_badblock(conf->mirrors[r1_bio->read_disk].rdev,
|
||||||
r1_bio->sector,
|
r1_bio->sector,
|
||||||
|
|
Loading…
Add table
Reference in a new issue