Skip to content

Commit e2c5923

Browse files
committed
Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-block
Pull core block layer updates from Jens Axboe: "This is the main pull request for block storage for 4.15-rc1. Nothing out of the ordinary in here, and no API changes or anything like that. Just various new features for drivers, core changes, etc. In particular, this pull request contains: - A patch series from Bart, closing the whole on blk/scsi-mq queue quescing. - A series from Christoph, building towards hidden gendisks (for multipath) and ability to move bio chains around. - NVMe - Support for native multipath for NVMe (Christoph). - Userspace notifications for AENs (Keith). - Command side-effects support (Keith). - SGL support (Chaitanya Kulkarni) - FC fixes and improvements (James Smart) - Lots of fixes and tweaks (Various) - bcache - New maintainer (Michael Lyle) - Writeback control improvements (Michael) - Various fixes (Coly, Elena, Eric, Liang, et al) - lightnvm updates, mostly centered around the pblk interface (Javier, Hans, and Rakesh). - Removal of unused bio/bvec kmap atomic interfaces (me, Christoph) - Writeback series that fix the much discussed hundreds of millions of sync-all units. This goes all the way, as discussed previously (me). - Fix for missing wakeup on writeback timer adjustments (Yafang Shao). - Fix laptop mode on blk-mq (me). - {mq,name} tupple lookup for IO schedulers, allowing us to have alias names. This means you can use 'deadline' on both !mq and on mq (where it's called mq-deadline). (me). - blktrace race fix, oopsing on sg load (me). - blk-mq optimizations (me). - Obscure waitqueue race fix for kyber (Omar). - NBD fixes (Josef). - Disable writeback throttling by default on bfq, like we do on cfq (Luca Miccio). - Series from Ming that enable us to treat flush requests on blk-mq like any other request. This is a really nice cleanup. - Series from Ming that improves merging on blk-mq with schedulers, getting us closer to flipping the switch on scsi-mq again. - BFQ updates (Paolo). - blk-mq atomic flags memory ordering fixes (Peter Z). - Loop cgroup support (Shaohua). - Lots of minor fixes from lots of different folks, both for core and driver code" * 'for-4.15/block' of git://git.kernel.dk/linux-block: (294 commits) nvme: fix visibility of "uuid" ns attribute blk-mq: fixup some comment typos and lengths ide: ide-atapi: fix compile error with defining macro DEBUG blk-mq: improve tag waiting setup for non-shared tags brd: remove unused brd_mutex blk-mq: only run the hardware queue if IO is pending block: avoid null pointer dereference on null disk fs: guard_bio_eod() needs to consider partitions xtensa/simdisk: fix compile error nvme: expose subsys attribute to sysfs nvme: create 'slaves' and 'holders' entries for hidden controllers block: create 'slaves' and 'holders' entries for hidden gendisks nvme: also expose the namespace identification sysfs files for mpath nodes nvme: implement multipath access to nvme subsystems nvme: track shared namespaces nvme: introduce a nvme_ns_ids structure nvme: track subsystems block, nvme: Introduce blk_mq_req_flags_t block, scsi: Make SCSI quiesce and resume work reliably block: Add the QUEUE_FLAG_PREEMPT_ONLY request queue flag ...
2 parents abc36be + a04b5de commit e2c5923

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+5470
-3089
lines changed

Documentation/ABI/obsolete/proc-sys-vm-nr_pdflush_threads

-5
This file was deleted.

Documentation/block/biodoc.txt

+5-6
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,9 @@ may need to abort DMA operations and revert to PIO for the transfer, in
216216
which case a virtual mapping of the page is required. For SCSI it is also
217217
done in some scenarios where the low level driver cannot be trusted to
218218
handle a single sg entry correctly. The driver is expected to perform the
219-
kmaps as needed on such occasions using the __bio_kmap_atomic and bio_kmap_irq
220-
routines as appropriate. A driver could also use the blk_queue_bounce()
221-
routine on its own to bounce highmem i/o to low memory for specific requests
222-
if so desired.
219+
kmaps as needed on such occasions as appropriate. A driver could also use
220+
the blk_queue_bounce() routine on its own to bounce highmem i/o to low
221+
memory for specific requests if so desired.
223222

224223
iii. The i/o scheduler algorithm itself can be replaced/set as appropriate
225224

@@ -1137,8 +1136,8 @@ use dma_map_sg for scatter gather) to be able to ship it to the driver. For
11371136
PIO drivers (or drivers that need to revert to PIO transfer once in a
11381137
while (IDE for example)), where the CPU is doing the actual data
11391138
transfer a virtual mapping is needed. If the driver supports highmem I/O,
1140-
(Sec 1.1, (ii) ) it needs to use __bio_kmap_atomic and bio_kmap_irq to
1141-
temporarily map a bio into the virtual address space.
1139+
(Sec 1.1, (ii) ) it needs to use kmap_atomic or similar to temporarily map
1140+
a bio into the virtual address space.
11421141

11431142

11441143
8. Prior/Related/Impacted patches

Documentation/block/null_blk.txt

+14-5
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ gb=[Size in GB]: Default: 250GB
3838
bs=[Block size (in bytes)]: Default: 512 bytes
3939
The block size reported to the system.
4040

41-
nr_devices=[Number of devices]: Default: 2
41+
nr_devices=[Number of devices]: Default: 1
4242
Number of block devices instantiated. They are instantiated as /dev/nullb0,
4343
etc.
4444

@@ -52,13 +52,13 @@ irqmode=[0-2]: Default: 1-Soft-irq
5252
2: Timer: Waits a specific period (completion_nsec) for each IO before
5353
completion.
5454

55-
completion_nsec=[ns]: Default: 10.000ns
55+
completion_nsec=[ns]: Default: 10,000ns
5656
Combined with irqmode=2 (timer). The time each completion event must wait.
5757

58-
submit_queues=[0..nr_cpus]:
58+
submit_queues=[1..nr_cpus]:
5959
The number of submission queues attached to the device driver. If unset, it
60-
defaults to 1 on single-queue and bio-based instances. For multi-queue,
61-
it is ignored when use_per_node_hctx module parameter is 1.
60+
defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module
61+
parameter is 1.
6262

6363
hw_queue_depth=[0..qdepth]: Default: 64
6464
The hardware queue depth of the device.
@@ -73,3 +73,12 @@ use_per_node_hctx=[0/1]: Default: 0
7373

7474
use_lightnvm=[0/1]: Default: 0
7575
Register device with LightNVM. Requires blk-mq and CONFIG_NVM to be enabled.
76+
77+
no_sched=[0/1]: Default: 0
78+
0: nullb* use default blk-mq io scheduler.
79+
1: nullb* doesn't use io scheduler.
80+
81+
shared_tags=[0/1]: Default: 0
82+
0: Tag set is not shared.
83+
1: Tag set shared between devices for blk-mq. Only makes sense with
84+
nr_devices > 1, otherwise there's no tag set to share.

MAINTAINERS

+3-2
Original file line numberDiff line numberDiff line change
@@ -2562,10 +2562,12 @@ S: Maintained
25622562
F: drivers/net/hamradio/baycom*
25632563

25642564
BCACHE (BLOCK LAYER CACHE)
2565+
M: Michael Lyle <[email protected]>
25652566
M: Kent Overstreet <[email protected]>
25662567
25672568
W: http://bcache.evilpiepirate.org
2568-
S: Orphan
2569+
C: irc://irc.oftc.net/bcache
2570+
S: Maintained
25692571
F: drivers/md/bcache/
25702572

25712573
BDISP ST MEDIA DRIVER
@@ -12085,7 +12087,6 @@ F: drivers/mmc/host/sdhci-omap.c
1208512087
SECURE ENCRYPTING DEVICE (SED) OPAL DRIVER
1208612088
M: Scott Bauer <[email protected]>
1208712089
M: Jonathan Derrick <[email protected]>
12088-
M: Rafael Antognolli <[email protected]>
1208912090
1209012091
S: Supported
1209112092
F: block/sed*

arch/xtensa/platforms/iss/simdisk.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,13 @@ static blk_qc_t simdisk_make_request(struct request_queue *q, struct bio *bio)
110110
sector_t sector = bio->bi_iter.bi_sector;
111111

112112
bio_for_each_segment(bvec, bio, iter) {
113-
char *buffer = __bio_kmap_atomic(bio, iter);
113+
char *buffer = kmap_atomic(bvec.bv_page) + bvec.bv_offset;
114114
unsigned len = bvec.bv_len >> SECTOR_SHIFT;
115115

116116
simdisk_transfer(dev, sector, len, buffer,
117117
bio_data_dir(bio) == WRITE);
118118
sector += len;
119-
__bio_kunmap_atomic(buffer);
119+
kunmap_atomic(buffer);
120120
}
121121

122122
bio_endio(bio);

0 commit comments

Comments
 (0)