kernel_optimize_test/block
Ming Lei df60f6e835 blk-wbt: fix IO hang in wbt_wait()
On wbt invariant is that if one IO is tracked via WBT_TRACKED, rqw->inflight
should be updated for tracking this IO.

But commit c1c80384c8 ("block: remove external dependency on wbt_flags")
forgets to remove the early handling of !rwb_enabled(rwb) inside wbt_wait(),
then the inflight counter may not be increased in wbt_wait(), but decreased
in wbt_done() for this kind of IO, so this counter may become negative, then
wbt_wait() may wait forever.

This patch fixes the report in the following link:

	https://marc.info/?l=linux-block&m=153221542021033&w=2

Fixes: c1c80384c8 ("block: remove external dependency on wbt_flags")
Cc: Josef Bacik <jbacik@fb.com>
Reported-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-08-14 11:05:52 -06:00
..
partitions
badblocks.c
bfq-cgroup.c
bfq-iosched.c
bfq-iosched.h
bfq-wf2q.c
bio-integrity.c
bio.c block: bvec_nr_vecs() returns value for wrong slab 2018-08-09 08:25:04 -06:00
blk-cgroup.c
blk-core.c block: don't warn for flush on read-only device 2018-08-14 10:52:40 -06:00
blk-exec.c
blk-flush.c
blk-integrity.c
blk-ioc.c
blk-iolatency.c
blk-lib.c
blk-map.c
blk-merge.c
blk-mq-cpumap.c
blk-mq-debugfs-zoned.c
blk-mq-debugfs.c
blk-mq-debugfs.h
blk-mq-pci.c
blk-mq-rdma.c
blk-mq-sched.c
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq-tag.c blk-mq: count the hctx as active before allocating tag 2018-08-09 08:34:17 -06:00
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c blk-mq: count the hctx as active before allocating tag 2018-08-09 08:34:17 -06:00
blk-mq.h
blk-rq-qos.c
blk-rq-qos.h
blk-settings.c
blk-softirq.c
blk-stat.c
blk-stat.h
blk-sysfs.c blkcg: Make blkg_root_lookup() work for queues in bypass mode 2018-08-11 15:41:25 -06:00
blk-tag.c
blk-throttle.c Blk-throttle: reduce tail io latency when iops limit is enforced 2018-08-09 12:43:16 -06:00
blk-timeout.c
blk-wbt.c blk-wbt: fix IO hang in wbt_wait() 2018-08-14 11:05:52 -06:00
blk-wbt.h
blk-zoned.c
blk.h block: Introduce blk_exit_queue() 2018-08-09 09:12:59 -06:00
bounce.c
bsg-lib.c
bsg.c
cfq-iosched.c cfq: Suppress compiler warnings about comparisons 2018-08-07 17:57:13 -06:00
cmdline-parser.c
compat_ioctl.c
deadline-iosched.c
elevator.c
genhd.c
ioctl.c
ioprio.c
Kconfig
Kconfig.iosched
kyber-iosched.c
Makefile
mq-deadline.c
noop-iosched.c
opal_proto.h
partition-generic.c
scsi_ioctl.c
sed-opal.c
t10-pi.c