]> git.karo-electronics.de Git - linux-beck.git/commitdiff
md/raid1: small code cleanup in end_sync_write
authorNeilBrown <neilb@suse.com>
Thu, 2 Jun 2016 06:19:52 +0000 (16:19 +1000)
committerShaohua Li <shli@fb.com>
Mon, 13 Jun 2016 18:54:17 +0000 (11:54 -0700)
'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>
drivers/md/raid1.c

index 588608dcb78076ec9f1bf77e72b980d077805926..60c293df03f191280546efd73e13d2fb76139398 100644 (file)
@@ -1709,11 +1709,9 @@ static void end_sync_write(struct bio *bio)
        struct r1bio *r1_bio = bio->bi_private;
        struct mddev *mddev = r1_bio->mddev;
        struct r1conf *conf = mddev->private;
-       int mirror=0;
        sector_t first_bad;
        int bad_sectors;
-
-       mirror = find_bio_disk(r1_bio, bio);
+       struct md_rdev *rdev = conf->mirrors[find_bio_disk(r1_bio, bio)].rdev;
 
        if (!uptodate) {
                sector_t sync_blocks = 0;
@@ -1726,16 +1724,12 @@ static void end_sync_write(struct bio *bio)
                        s += sync_blocks;
                        sectors_to_go -= sync_blocks;
                } while (sectors_to_go > 0);
-               set_bit(WriteErrorSeen,
-                       &conf->mirrors[mirror].rdev->flags);
-               if (!test_and_set_bit(WantReplacement,
-                                     &conf->mirrors[mirror].rdev->flags))
+               set_bit(WriteErrorSeen, &rdev->flags);
+               if (!test_and_set_bit(WantReplacement, &rdev->flags))
                        set_bit(MD_RECOVERY_NEEDED, &
                                mddev->recovery);
                set_bit(R1BIO_WriteError, &r1_bio->state);
-       } else if (is_badblock(conf->mirrors[mirror].rdev,
-                              r1_bio->sector,
-                              r1_bio->sectors,
+       } else if (is_badblock(rdev, r1_bio->sector, r1_bio->sectors,
                               &first_bad, &bad_sectors) &&
                   !is_badblock(conf->mirrors[r1_bio->read_disk].rdev,
                                r1_bio->sector,