]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'scsi/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 11 Feb 2016 03:17:38 +0000 (14:17 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 11 Feb 2016 03:17:38 +0000 (14:17 +1100)
1  2 
block/blk-core.c

diff --combined block/blk-core.c
index c60e233eb08bdc110eb37018f3593c8ddb4001fc,b83d29755b5a04509edd3ebfe70f89f354a09932..45f4d7efbf349efa77f8c9d425e1d0ece4fbd9d4
@@@ -2198,7 -2198,7 +2198,7 @@@ int blk_insert_cloned_request(struct re
        if (q->mq_ops) {
                if (blk_queue_io_stat(q))
                        blk_account_io_start(rq, true);
 -              blk_mq_insert_request(rq, false, true, true);
 +              blk_mq_insert_request(rq, false, true, false);
                return 0;
        }
  
@@@ -2455,14 -2455,16 +2455,16 @@@ struct request *blk_peek_request(struc
  
                        rq = NULL;
                        break;
-               } else if (ret == BLKPREP_KILL) {
+               } else if (ret == BLKPREP_KILL || ret == BLKPREP_INVALID) {
+                       int err = (ret == BLKPREP_INVALID) ? -EREMOTEIO : -EIO;
                        rq->cmd_flags |= REQ_QUIET;
                        /*
                         * Mark this request as started so we don't trigger
                         * any debug logic in the end I/O path.
                         */
                        blk_start_request(rq);
-                       __blk_end_request_all(rq, -EIO);
+                       __blk_end_request_all(rq, err);
                } else {
                        printk(KERN_ERR "%s: bad return=%d\n", __func__, ret);
                        break;