diff options
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index b06cf5c2a829..4b45435c6eaf 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -595,8 +595,6 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id) | |||
595 | 595 | ||
596 | q->sg_reserved_size = INT_MAX; | 596 | q->sg_reserved_size = INT_MAX; |
597 | 597 | ||
598 | blk_set_cmd_filter_defaults(&q->cmd_filter); | ||
599 | |||
600 | /* | 598 | /* |
601 | * all done | 599 | * all done |
602 | */ | 600 | */ |
@@ -1172,6 +1170,11 @@ static int __make_request(struct request_queue *q, struct bio *bio) | |||
1172 | const int unplug = bio_unplug(bio); | 1170 | const int unplug = bio_unplug(bio); |
1173 | int rw_flags; | 1171 | int rw_flags; |
1174 | 1172 | ||
1173 | if (bio_barrier(bio) && bio_has_data(bio) && | ||
1174 | (q->next_ordered == QUEUE_ORDERED_NONE)) { | ||
1175 | bio_endio(bio, -EOPNOTSUPP); | ||
1176 | return 0; | ||
1177 | } | ||
1175 | /* | 1178 | /* |
1176 | * low level driver can indicate that it wants pages above a | 1179 | * low level driver can indicate that it wants pages above a |
1177 | * certain limit bounced to low memory (ie for highmem, or even | 1180 | * certain limit bounced to low memory (ie for highmem, or even |
@@ -1472,11 +1475,6 @@ static inline void __generic_make_request(struct bio *bio) | |||
1472 | err = -EOPNOTSUPP; | 1475 | err = -EOPNOTSUPP; |
1473 | goto end_io; | 1476 | goto end_io; |
1474 | } | 1477 | } |
1475 | if (bio_barrier(bio) && bio_has_data(bio) && | ||
1476 | (q->next_ordered == QUEUE_ORDERED_NONE)) { | ||
1477 | err = -EOPNOTSUPP; | ||
1478 | goto end_io; | ||
1479 | } | ||
1480 | 1478 | ||
1481 | ret = q->make_request_fn(q, bio); | 1479 | ret = q->make_request_fn(q, bio); |
1482 | } while (ret); | 1480 | } while (ret); |
@@ -2365,7 +2363,7 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src, | |||
2365 | __bio_clone(bio, bio_src); | 2363 | __bio_clone(bio, bio_src); |
2366 | 2364 | ||
2367 | if (bio_integrity(bio_src) && | 2365 | if (bio_integrity(bio_src) && |
2368 | bio_integrity_clone(bio, bio_src, gfp_mask)) | 2366 | bio_integrity_clone(bio, bio_src, gfp_mask, bs)) |
2369 | goto free_and_out; | 2367 | goto free_and_out; |
2370 | 2368 | ||
2371 | if (bio_ctr && bio_ctr(bio, bio_src, data)) | 2369 | if (bio_ctr && bio_ctr(bio, bio_src, data)) |