]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - block/blk-exec.c
Merge tag 'powerpc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[mirror_ubuntu-artful-kernel.git] / block / blk-exec.c
index 3ecb00a6cf45dd5463331a18dd124128a7eec94d..8cd0e9bc8dc89b7bde4e4ab56aa7752677618f72 100644 (file)
@@ -9,11 +9,7 @@
 #include <linux/sched/sysctl.h>
 
 #include "blk.h"
-
-/*
- * for max sense size
- */
-#include <scsi/scsi_cmnd.h>
+#include "blk-mq-sched.h"
 
 /**
  * blk_end_sync_rq - executes a completion event on a request
@@ -55,7 +51,7 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
        int where = at_head ? ELEVATOR_INSERT_FRONT : ELEVATOR_INSERT_BACK;
 
        WARN_ON(irqs_disabled());
-       WARN_ON(rq->cmd_type == REQ_TYPE_FS);
+       WARN_ON(!blk_rq_is_passthrough(rq));
 
        rq->rq_disk = bd_disk;
        rq->end_io = done;
@@ -65,7 +61,7 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
         * be reused after dying flag is set
         */
        if (q->mq_ops) {
-               blk_mq_insert_request(rq, at_head, true, false);
+               blk_mq_sched_insert_request(rq, at_head, true, false, false);
                return;
        }
 
@@ -100,16 +96,9 @@ int blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
                   struct request *rq, int at_head)
 {
        DECLARE_COMPLETION_ONSTACK(wait);
-       char sense[SCSI_SENSE_BUFFERSIZE];
        int err = 0;
        unsigned long hang_check;
 
-       if (!rq->sense) {
-               memset(sense, 0, sizeof(sense));
-               rq->sense = sense;
-               rq->sense_len = 0;
-       }
-
        rq->end_io_data = &wait;
        blk_execute_rq_nowait(q, bd_disk, rq, at_head, blk_end_sync_rq);
 
@@ -123,11 +112,6 @@ int blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
        if (rq->errors)
                err = -EIO;
 
-       if (rq->sense == sense) {
-               rq->sense = NULL;
-               rq->sense_len = 0;
-       }
-
        return err;
 }
 EXPORT_SYMBOL(blk_execute_rq);