kernel-hacking-2024-linux-s.../block
Kent Overstreet 6f6b5d1ec5 percpu_ida: Make percpu_ida_alloc + callers accept task state bitmask
This patch changes percpu_ida_alloc() + callers to accept task state
bitmask for prepare_to_wait() for code like target/iscsi that needs
it for interruptible sleep, that is provided in a subsequent patch.

It now expects TASK_UNINTERRUPTIBLE when the caller is able to sleep
waiting for a new tag, or TASK_RUNNING when the caller cannot sleep,
and is forced to return a negative value when no tags are available.

v2 changes:
  - Include blk-mq + tcm_fc + vhost/scsi + target/iscsi changes
  - Drop signal_pending_state() call
v3 changes:
  - Only call prepare_to_wait() + finish_wait() when != TASK_RUNNING
    (PeterZ)

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: <stable@vger.kernel.org> #3.12+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2014-01-23 20:17:18 +00:00
..
partitions block/partitions/efi.c: fix bound check 2013-11-21 16:42:27 -08:00
blk-cgroup.c Merge branch 'for-3.12/core' of git://git.kernel.dk/linux-block 2013-09-22 15:00:11 -07:00
blk-cgroup.h Update of blkg_stat and blkg_rwstat may happen in bh context. 2013-11-20 15:33:04 -07:00
blk-core.c Merge branch 'blk-mq/core' into for-3.13/core 2013-11-08 09:08:12 -07:00
blk-exec.c blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-flush.c block: submit_bio_wait() conversions 2013-11-24 16:33:41 -07:00
blk-integrity.c
blk-ioc.c block: cleanup removing dependency on bootmem headers 2013-11-08 19:43:48 -07:00
blk-iopoll.c block: Replace __get_cpu_var uses 2013-11-08 08:59:58 -07:00
blk-lib.c block: Do not call sector_div() with a 64-bit divisor 2013-11-08 09:04:46 -07:00
blk-map.c
blk-merge.c blk-mq: don't disallow request merges for req->special being set 2013-10-29 12:11:47 -06:00
blk-mq-cpu.c blk-mq: remove newly added instances of __cpuinit 2013-11-14 08:26:02 -07:00
blk-mq-cpumap.c blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-mq-sysfs.c blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-mq-tag.c percpu_ida: Make percpu_ida_alloc + callers accept task state bitmask 2014-01-23 20:17:18 +00:00
blk-mq-tag.h blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-mq.c blk-mq: fix use-after-free of request 2013-12-05 10:50:39 -07:00
blk-mq.h blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
blk-settings.c Merge branch 'for-3.13/core' of git://git.kernel.dk/linux-block 2013-11-14 12:08:14 +09:00
blk-softirq.c kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS 2013-11-15 09:32:22 +09:00
blk-sysfs.c kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS 2013-11-15 09:32:22 +09:00
blk-tag.c
blk-throttle.c block: Use u64_stats_init() to initialize seqcounts 2013-11-13 13:54:08 +01:00
blk-timeout.c Merge branch 'blk-mq/core' into for-3.13/core 2013-11-08 09:08:12 -07:00
blk.h blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
bsg-lib.c
bsg.c
cfq-iosched.c block: Use u64_stats_init() to initialize seqcounts 2013-11-13 13:54:08 +01:00
cmdline-parser.c block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
compat_ioctl.c kernel-wide: fix missing validations on __get/__put/__copy_to/__copy_from_user() 2013-09-11 15:58:18 -07:00
deadline-iosched.c block: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node(...) 2013-09-11 13:22:03 -06:00
elevator.c elevator: acquire q->sysfs_lock in elevator_change() 2013-11-08 09:00:13 -07:00
genhd.c block: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node(...) 2013-09-11 13:22:03 -06:00
ioctl.c block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2013-11-08 09:05:31 -07:00
Kconfig block: change config option name for cmdline partition parsing 2013-09-30 14:31:02 -07:00
Kconfig.iosched
Makefile blk-mq: new multi-queue block IO queueing mechanism 2013-10-25 11:56:00 +01:00
noop-iosched.c
partition-generic.c
scsi_ioctl.c block: Use rw_copy_check_uvector() 2013-11-08 09:02:14 -07:00