]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
md/raid1: simplify alloc_behind_master_bio()
authorNeilBrown <neilb@suse.com>
Wed, 5 Apr 2017 04:05:50 +0000 (14:05 +1000)
committerShaohua Li <shli@fb.com>
Tue, 11 Apr 2017 17:08:47 +0000 (10:08 -0700)
Now that we always always pass an offset of 0 and a size
that matches the bio to alloc_behind_master_bio(),
we can remove the offset/size args and simplify the code.

We could probably remove bio_copy_data_partial() too.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/raid1.c

index 94f1d754aa09ba80068817712000059461d5c6b3..18af00c86b42c5dc2e0e3f7b8ab79c72b3d6e21d 100644 (file)
@@ -1091,9 +1091,9 @@ static void unfreeze_array(struct r1conf *conf)
 }
 
 static struct bio *alloc_behind_master_bio(struct r1bio *r1_bio,
-                                          struct bio *bio,
-                                          int offset, int size)
+                                          struct bio *bio)
 {
+       int size = bio->bi_iter.bi_size;
        unsigned vcnt = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
        int i = 0;
        struct bio *behind_bio = NULL;
@@ -1120,8 +1120,7 @@ static struct bio *alloc_behind_master_bio(struct r1bio *r1_bio,
                i++;
        }
 
-       bio_copy_data_partial(behind_bio, bio, offset,
-                             behind_bio->bi_iter.bi_size);
+       bio_copy_data(behind_bio, bio);
 skip_copy:
        r1_bio->behind_master_bio = behind_bio;;
        set_bit(R1BIO_BehindIO, &r1_bio->state);
@@ -1462,9 +1461,7 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio,
                            (atomic_read(&bitmap->behind_writes)
                             < mddev->bitmap_info.max_write_behind) &&
                            !waitqueue_active(&bitmap->behind_wait)) {
-                               mbio = alloc_behind_master_bio(r1_bio, bio,
-                                                              0,
-                                                              max_sectors << 9);
+                               mbio = alloc_behind_master_bio(r1_bio, bio);
                        }
 
                        bitmap_startwrite(bitmap, r1_bio->sector,