[GIT PULL] Block fixes for 3.16-rc1

From: Jens Axboe
Date: Wed Jun 18 2014 - 12:32:10 EST


Hi Linus,

A smaller collection of fixes for the block core that would be nice to
have in -rc2. This pull request contains:

- Fixes for races in the wait/wakeup logic used in blk-mq from
Alexander. No issues have been observed, but it is definitely a bit
flakey currently. Alternatively, we may drop the cyclic wakeups going
forward, but that needs more testing.

- Some cleanups from Christoph.

- Fix for an oops in null_blk if queue_mode=1 and softirq completions
are used. From me.

- A fix for a regression caused by the chunk size setting. It
inadvertently used max_hw_sectors instead of max_sectors, which is
incorrect, and causes hangs on btrfs multi-disk setups (where hw
sectors apparently isn't set). From me.

- Removal of WQ_POWER_EFFICIENT in the kblockd creation. This was a
recent addition as well, but it actually breaks blk-mq which relies on
strict scheduling. If the workqueue power_efficient mode is turned on,
this breaks blk-mq. From Matias.

- null_blk module parameter description fix from Mike.


Please pull!


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


----------------------------------------------------------------
Alexander Gordeev (3):
blk-mq: bitmap tag: fix races on shared ::wake_index fields
blk-mq: bitmap tag: fix race on blk_mq_bitmap_tags::wake_cnt
blk-mq: bitmap tag: fix races in bt_get() function

Christoph Hellwig (3):
block: remove elv_abort_queue and blk_abort_flushes
blk-mq: properly drain stopped queues
blk-mq: merge blk_mq_drain_queue and __blk_mq_drain_queue

Jens Axboe (2):
null_blk: fix softirq completions for queue_mode == 1
block: blk_max_size_offset() should check ->max_sectors

Matias Bjørling (1):
block: remove WQ_POWER_EFFICIENT from kblockd

Mike Snitzer (1):
null_blk: fix name and description of 'queue_mode' module parameter

block/blk-core.c | 3 +--
block/blk-flush.c | 38 -------------------------------
block/blk-mq-tag.c | 59 +++++++++++++++++++++++++++++++-----------------
block/blk-mq-tag.h | 2 +-
block/blk-mq.c | 11 +++------
block/blk.h | 1 -
block/elevator.c | 20 ----------------
drivers/block/null_blk.c | 7 ++++--
include/linux/blk-mq.h | 2 +-
include/linux/blkdev.h | 2 +-
include/linux/elevator.h | 1 -
11 files changed, 50 insertions(+), 96 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/