[GIT PULL] Final block fixes for 3.17

From: Jens Axboe
Date: Tue Sep 23 2014 - 16:55:13 EST


Hi Linus,

This week and last we've been fixing some corner cases related to
blk-mq, mostly. I ended up pulling most of that out of for-linus
yesterday, which is why the branch looks fresh. The rest were postponed
for 3.18.

This pull request contains:

- Fix from Christoph, avoiding a stack overflow when FUA insertion would
recursive infinitely.

- Fix from David Hildenbrand on races between the timeout handler and
uninitialized requests. Fixes a real issue that virtio_blk has run
into.

- A few fixes from me:

- Ensure that request deadline/timeout is ordered before the
request is marked as started.

- A potential oops on out-of-memory, when we scale the queue
depth of the device and retry.

- A hang fix on requeue from SCSI, where the hardware queue
would be stopped when we attempt to re-run it (and hence
nothing would happen, stalling progress).

- A fix for commit 2da78092, where the cleanup path was moved
to RCU, but a debug might_sleep() was inadvertently left in
the code. This causes warnings for people.

Please pull!


git://git.kernel.dk/linux-block.git for-linus

for you to fetch changes up to 46f341ffcfb5d8530f7d1e60f3be06cce6661b62:

genhd: fix leftover might_sleep() in blk_free_devt() (2014-09-22 14:45:45 -0600)

----------------------------------------------------------------
Christoph Hellwig (1):
blk-mq: avoid infinite recursion with the FUA flag

David Hildenbrand (1):
blk-mq: Avoid race condition with uninitialized requests

Jens Axboe (4):
blk-mq: request deadline must be visible before marking rq as started
blk-mq: fix potential oops on out-of-memory in __blk_mq_alloc_rq_maps()
blk-mq: use blk_mq_start_hw_queues() when running requeue work
genhd: fix leftover might_sleep() in blk_free_devt()

block/blk-exec.c | 1 +
block/blk-mq.c | 28 +++++++++++++++++-----------
block/genhd.c | 2 --
3 files changed, 18 insertions(+), 13 deletions(-)

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/