]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'blk-mq/core' into for-next
authorJens Axboe <axboe@kernel.dk>
Thu, 24 Oct 2013 10:34:56 +0000 (11:34 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Oct 2013 10:34:56 +0000 (11:34 +0100)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Conflicts:
block/blk-timeout.c

1  2 
block/blk-core.c
block/blk-timeout.c
drivers/block/Kconfig
drivers/block/Makefile

index 25f13479f552562bc2e406f3ebed2bf150e93fe9,3bb9e9f7f87ebc2df010173c612c5677361d4970..0d85f0f15ded1465d564f939c3f862b087172026
@@@ -644,15 -611,17 +611,19 @@@ struct request_queue *blk_alloc_queue_n
        q->bypass_depth = 1;
        __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags);
  
+       init_waitqueue_head(&q->mq_freeze_wq);
        if (blkcg_init_queue(q))
 -              goto fail_id;
 +              goto fail_bdi;
  
        return q;
  
 +fail_bdi:
 +      bdi_destroy(&q->backing_dev_info);
  fail_id:
        ida_simple_remove(&blk_queue_ida, q->id);
+ fail_c:
+       percpu_counter_destroy(&q->mq_usage_counter);
  fail_q:
        kmem_cache_free(blk_requestq_cachep, q);
        return NULL;
index 655ba909cd6a6c6826cb57be9055da25df3b8cec,22846cf3595abbb4d93faeef52c4e2de81a740bf..4e9cfd16183cfb9e9451d2b5dc58a4e3cd85b8ec
@@@ -88,11 -89,18 +89,18 @@@ static void blk_rq_timed_out(struct req
                ret = q->rq_timed_out_fn(req);
        switch (ret) {
        case BLK_EH_HANDLED:
-               __blk_complete_request(req);
+               /* Can we use req->errors here? */
+               if (q->mq_ops)
+                       blk_mq_complete_request(req, req->errors);
+               else
+                       __blk_complete_request(req);
                break;
        case BLK_EH_RESET_TIMER:
-               blk_add_timer(req);
 -              blk_clear_rq_complete(req);
+               if (q->mq_ops)
+                       blk_mq_add_timer(req);
+               else
+                       blk_add_timer(req);
 +              blk_clear_rq_complete(req);
                break;
        case BLK_EH_NOT_HANDLED:
                /*
Simple merge
index f33b3669428901ec252422e39266f19eaad1a613,03b3b4a2bd8ae354d7647d3ef4552202d8ea97f0..8cc98cd0d4a8578485694e95735af1fd25514bff
@@@ -42,7 -41,7 +42,8 @@@ obj-$(CONFIG_BLK_DEV_RBD)     += rbd.
  obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX)        += mtip32xx/
  
  obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/
+ obj-$(CONFIG_BLK_DEV_NULL_BLK)        += null_blk.o
  
  nvme-y                := nvme-core.o nvme-scsi.o
 +skd-y         := skd_main.o
  swim_mod-y    := swim.o swim_asm.o