KVM: x86: Mark VEX-prefix instructions emulation as unimplemented
[sfrench/cifs-2.6.git] / block / blk-core.c
index 40d654861c33e545dd79da5ce5a6dff40057e703..f6f6b9af3e3f541e78c8079cbbc7031a09efeb4d 100644 (file)
@@ -43,6 +43,7 @@
 EXPORT_TRACEPOINT_SYMBOL_GPL(block_bio_remap);
 EXPORT_TRACEPOINT_SYMBOL_GPL(block_rq_remap);
 EXPORT_TRACEPOINT_SYMBOL_GPL(block_bio_complete);
+EXPORT_TRACEPOINT_SYMBOL_GPL(block_split);
 EXPORT_TRACEPOINT_SYMBOL_GPL(block_unplug);
 
 DEFINE_IDA(blk_queue_ida);
@@ -1218,6 +1219,8 @@ struct request *blk_make_request(struct request_queue *q, struct bio *bio,
        if (unlikely(!rq))
                return ERR_PTR(-ENOMEM);
 
+       blk_rq_set_block_pc(rq);
+
        for_each_bio(bio) {
                struct bio *bounce_bio = bio;
                int ret;
@@ -1234,6 +1237,22 @@ struct request *blk_make_request(struct request_queue *q, struct bio *bio,
 }
 EXPORT_SYMBOL(blk_make_request);
 
+/**
+ * blk_rq_set_block_pc - initialize a requeest to type BLOCK_PC
+ * @rq:                request to be initialized
+ *
+ */
+void blk_rq_set_block_pc(struct request *rq)
+{
+       rq->cmd_type = REQ_TYPE_BLOCK_PC;
+       rq->__data_len = 0;
+       rq->__sector = (sector_t) -1;
+       rq->bio = rq->biotail = NULL;
+       memset(rq->__cmd, 0, sizeof(rq->__cmd));
+       rq->cmd = rq->__cmd;
+}
+EXPORT_SYMBOL(blk_rq_set_block_pc);
+
 /**
  * blk_requeue_request - put a request back on queue
  * @q:         request queue where request should be inserted