Jens Axboe
7fe311302f
blk-mq: update hardware and software queues for sleeping alloc
...
If we end up sleeping due to running out of requests, we should
update the hardware and software queues in the map ctx structure.
Otherwise we could end up having rq->mq_ctx point to the pre-sleep
context, and risk corrupting ctx->rq_list since we'll be
grabbing the wrong lock when inserting the request.
Reported-by: Dave Jones <davej@codemonkey.org.uk>
Reported-by: Chris Mason <clm@fb.com>
Tested-by: Chris Mason <clm@fb.com>
Fixes: 63581af3f3 ("blk-mq: remove non-blocking pass in blk_mq_map_request")
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-10-27 09:56:03 -06:00
..
partitions
block: atari: Return early for unsupported sector size
2016-07-13 09:31:44 -07:00
badblocks.c
badblocks: badblocks_set/clear update unacked_exist
2016-10-21 15:45:47 -06:00
bio-integrity.c
block: rename bio bi_rw to bi_opf
2016-08-07 14:41:02 -06:00
bio.c
block: export bio_free_pages to other modules
2016-09-22 07:48:03 -06:00
blk-cgroup.c
blkcg: Unlock blkcg_pol_mutex only once when cpd == NULL
2016-09-30 10:31:20 +02:00
blk-core.c
block: add poll_considered statistic
2016-09-14 08:41:21 -06:00
blk-exec.c
block: Fix spelling in a source code comment
2016-07-20 21:28:22 -06:00
blk-flush.c
block: flush: fix IO hang in case of flood fua req
2016-10-26 07:49:27 -06:00
blk-integrity.c
block, libnvdimm, nvme: provide a built-in blk_integrity nop profile
2015-10-21 14:43:45 -06:00
blk-ioc.c
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
2015-11-06 17:50:42 -08:00
blk-lib.c
block: require write_same and discard requests align to logical block size
2016-10-11 15:06:30 -07:00
blk-map.c
block: simplify and export blk_rq_append_bio
2016-07-20 17:38:32 -06:00
blk-merge.c
block: make sure a big bio is split into at most 256 bvecs
2016-08-24 08:17:24 -06:00
blk-mq-cpumap.c
blk-mq: allow the driver to pass in a queue mapping
2016-09-15 08:42:03 -06:00
blk-mq-pci.c
blk_mq: linux/blk-mq.h does not include all the headers it depends on
2016-09-19 08:21:51 -06:00
blk-mq-sysfs.c
blk-mq: register device instead of disk
2016-09-21 07:56:16 -06:00
blk-mq-tag.c
Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-block
2016-10-09 17:29:33 -07:00
blk-mq-tag.h
Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-block
2016-10-09 17:29:33 -07:00
blk-mq.c
blk-mq: update hardware and software queues for sleeping alloc
2016-10-27 09:56:03 -06:00
blk-mq.h
Merge branch 'for-4.9/block-smp' of git://git.kernel.dk/linux-block
2016-10-09 17:32:20 -07:00
blk-settings.c
block: kill off q->flush_flags
2016-04-13 13:33:19 -06:00
blk-softirq.c
This adds a new gcc plugin named "latent_entropy". It is designed to
2016-10-15 10:03:15 -07:00
blk-sysfs.c
blk-mq: register device instead of disk
2016-09-21 07:56:16 -06:00
blk-tag.c
blk-throttle.c
blk-throttle: Extend slice if throttle group is not empty
2016-09-19 15:12:41 -06:00
blk-timeout.c
block: remove REQ_NO_TIMEOUT flag
2015-12-22 09:38:34 -07:00
blk.h
blk-mq: remove ->map_queue
2016-09-15 08:42:03 -06:00
bounce.c
bsg-lib.c
bsg.c
cfq-iosched.c
cfq: fix starvation of asynchronous writes
2016-09-23 10:01:24 -06:00
cmdline-parser.c
compat_ioctl.c
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
deadline-iosched.c
block: do not merge requests without consulting with io scheduler
2016-07-20 21:35:12 -06:00
elevator.c
block: Fix secure erase
2016-08-16 09:16:51 -06:00
genhd.c
block: fix bdi vs gendisk lifetime mismatch
2016-08-04 14:19:16 -06:00
ioctl.c
block: invalidate the page cache when issuing BLKZEROOUT
2016-10-11 15:06:30 -07:00
ioprio.c
block: fix use-after-free in sys_ioprio_get()
2016-07-01 08:39:24 -06:00
Kconfig
Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-block
2016-10-09 17:29:33 -07:00
Kconfig.iosched
Makefile
Merge branch 'for-4.9/block-smp' of git://git.kernel.dk/linux-block
2016-10-09 17:32:20 -07:00
noop-iosched.c
elevator: use list_{first,prev,next}_entry
2015-11-16 15:21:48 -07:00
partition-generic.c
block/partition-generic.c: Remove a set-but-not-used variable
2016-06-14 09:09:15 -06:00
scsi_ioctl.c
mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
2015-11-06 17:50:42 -08:00
t10-pi.c
block: Consolidate static integrity profile properties
2015-10-21 14:42:38 -06:00