diff options
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c index 902dd1344d56..ed6f8f32d27e 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -86,6 +86,12 @@ int elv_rq_merge_ok(struct request *rq, struct bio *bio) | |||
86 | if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special) | 86 | if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special) |
87 | return 0; | 87 | return 0; |
88 | 88 | ||
89 | /* | ||
90 | * only merge integrity protected bio into ditto rq | ||
91 | */ | ||
92 | if (bio_integrity(bio) != blk_integrity_rq(rq)) | ||
93 | return 0; | ||
94 | |||
89 | if (!elv_iosched_allow_merge(rq, bio)) | 95 | if (!elv_iosched_allow_merge(rq, bio)) |
90 | return 0; | 96 | return 0; |
91 | 97 | ||
@@ -144,7 +150,7 @@ static struct elevator_type *elevator_get(const char *name) | |||
144 | else | 150 | else |
145 | sprintf(elv, "%s-iosched", name); | 151 | sprintf(elv, "%s-iosched", name); |
146 | 152 | ||
147 | request_module(elv); | 153 | request_module("%s", elv); |
148 | spin_lock(&elv_list_lock); | 154 | spin_lock(&elv_list_lock); |
149 | e = elevator_find(name); | 155 | e = elevator_find(name); |
150 | } | 156 | } |