aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid1.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r--drivers/md/raid1.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index a1eb4e13a112..d1b9bd5fd4f6 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -854,7 +854,7 @@ static int make_request(struct request_queue *q, struct bio * bio)
854 read_bio->bi_sector = r1_bio->sector + mirror->rdev->data_offset; 854 read_bio->bi_sector = r1_bio->sector + mirror->rdev->data_offset;
855 read_bio->bi_bdev = mirror->rdev->bdev; 855 read_bio->bi_bdev = mirror->rdev->bdev;
856 read_bio->bi_end_io = raid1_end_read_request; 856 read_bio->bi_end_io = raid1_end_read_request;
857 read_bio->bi_rw = READ | do_sync; 857 read_bio->bi_rw = READ | (do_sync << BIO_RW_SYNCIO);
858 read_bio->bi_private = r1_bio; 858 read_bio->bi_private = r1_bio;
859 859
860 generic_make_request(read_bio); 860 generic_make_request(read_bio);
@@ -946,7 +946,8 @@ static int make_request(struct request_queue *q, struct bio * bio)
946 mbio->bi_sector = r1_bio->sector + conf->mirrors[i].rdev->data_offset; 946 mbio->bi_sector = r1_bio->sector + conf->mirrors[i].rdev->data_offset;
947 mbio->bi_bdev = conf->mirrors[i].rdev->bdev; 947 mbio->bi_bdev = conf->mirrors[i].rdev->bdev;
948 mbio->bi_end_io = raid1_end_write_request; 948 mbio->bi_end_io = raid1_end_write_request;
949 mbio->bi_rw = WRITE | do_barriers | do_sync; 949 mbio->bi_rw = WRITE | (do_barriers << BIO_RW_BARRIER) |
950 (do_sync << BIO_RW_SYNCIO);
950 mbio->bi_private = r1_bio; 951 mbio->bi_private = r1_bio;
951 952
952 if (behind_pages) { 953 if (behind_pages) {
@@ -1626,7 +1627,8 @@ static void raid1d(mddev_t *mddev)
1626 conf->mirrors[i].rdev->data_offset; 1627 conf->mirrors[i].rdev->data_offset;
1627 bio->bi_bdev = conf->mirrors[i].rdev->bdev; 1628 bio->bi_bdev = conf->mirrors[i].rdev->bdev;
1628 bio->bi_end_io = raid1_end_write_request; 1629 bio->bi_end_io = raid1_end_write_request;
1629 bio->bi_rw = WRITE | do_sync; 1630 bio->bi_rw = WRITE |
1631 (do_sync << BIO_RW_SYNCIO);
1630 bio->bi_private = r1_bio; 1632 bio->bi_private = r1_bio;
1631 r1_bio->bios[i] = bio; 1633 r1_bio->bios[i] = bio;
1632 generic_make_request(bio); 1634 generic_make_request(bio);
@@ -1675,7 +1677,7 @@ static void raid1d(mddev_t *mddev)
1675 bio->bi_sector = r1_bio->sector + rdev->data_offset; 1677 bio->bi_sector = r1_bio->sector + rdev->data_offset;
1676 bio->bi_bdev = rdev->bdev; 1678 bio->bi_bdev = rdev->bdev;
1677 bio->bi_end_io = raid1_end_read_request; 1679 bio->bi_end_io = raid1_end_read_request;
1678 bio->bi_rw = READ | do_sync; 1680 bio->bi_rw = READ | (do_sync << BIO_RW_SYNCIO);
1679 bio->bi_private = r1_bio; 1681 bio->bi_private = r1_bio;
1680 unplug = 1; 1682 unplug = 1;
1681 generic_make_request(bio); 1683 generic_make_request(bio);