[GIT PULL] Block driver updates for 5.18-rc1

Jens Axboe
2022-03-18T21:59:37Z

Hi Linus,

On top of the core block updates for the 5.18-rc1 merge window, here are
the driver updates for this merge window. In detail:

- NVMe updates via Christoph:
- add vectored-io support for user-passthrough (Kanchan Joshi)
- add verbose error logging (Alan Adamson)
- support buffered I/O on block devices in nvmet (Chaitanya Kulkarni)
- central discovery controller support (Martin Belanger)
- fix and extended the globally unique idenfier validation
(Christoph)
- move away from the deprecated IDA APIs (Sagi Grimberg)
- misc code cleanup (Keith Busch, Max Gurtovoy, Qinghua Jin,
Chaitanya Kulkarni)
- add lockdep annotations for in-kernel sockets (Chris Leech)
- use vmalloc for ANA log buffer (Hannes Reinecke)
- kerneldoc fixes (Chaitanya Kulkarni)
- cleanups (Guoqing Jiang, Chaitanya Kulkarni, Christoph)
- warn about shared namespaces without multipathing (Christoph)

- MD updates via Song with a set of cleanups (Christoph, Mariusz, Paul,
Erik, Dirk)

- loop cleanups and queue depth configuration (Chaitanya)

- null_blk cleanups and fixes (Chaitanya)

- Use descriptive init/exit names in virtio_blk (Randy)

- Use bvec_kmap_local() in drivers (Christoph)

- bcache fixes (Mingzhe)

- xen blk-front persistent grant speedups (Juergen)

- rnbd fix and cleanup (Gioh)

- Misc fixes (Christophe, Colin)

This will throw a merge conflict in drivers/nvme/target/configfs.c,
resolution is just to delete the two discovery helpers and the configfs
attribute, basically everything in the conflict section. This is due to
conflicting with a last minute revert in 5.17.

Please pull!

The following changes since commit 451f0b6f4c44d7b649ae609157b114b71f6d7875:

block: default BLOCK_LEGACY_AUTOLOAD to y (2022-02-27 14:49:23 -0700)

are available in the Git repository at:

git://git.kernel.dk/linux-block.git tags/for-5.18/drivers-2022-03-18

for you to fetch changes up to ae53aea611b7a532a52ba966281a8b7a8cfd008a:

Merge tag 'nvme-5.18-2022-03-17' of git://git.infradead.org/nvme into for-5.18/drivers (2022-03-17 20:46:22 -0600)

----------------------------------------------------------------
for-5.18/drivers-2022-03-18

----------------------------------------------------------------
Alan Adamson (1):
nvme: add verbose error logging

Chaitanya Kulkarni (24):
null_blk: fix return value from null_add_dev()
loop: use sysfs_emit() in the sysfs xxx show()
loop: remove extra variable in lo_fallocate()
loop: remove extra variable in lo_req_flush
loop: allow user to set the queue depth
null_blk: remove hardcoded alloc_cmd() parameter
null_blk: remove hardcoded null_alloc_page() param
null_blk: null_alloc_page() cleanup
nvme-core: remove unnecessary semicolon
nvme-core: remove unnecessary function parameter
nvme-fabrics: use unsigned int type
nvme-fabrics: use unsigned int type
nvme-fabrics: use consistent zeroout pattern
nvme-fabrics: remove unnecessary braces for case
nvmet: use i_size_read() to set size for file-ns
nvmet: allow bdev in buffered_io mode
nvme: add a helper to initialize connect_q
nvme-tcp: don't initialize ret variable
nvme-tcp: don't fold the line
nvmet-fc: fix kernel-doc warning for nvmet_fc_register_targetport
nvmet-fc: fix kernel-doc warning for nvmet_fc_unregister_targetport
nvmet-rdma: fix kernel-doc warning for nvmet_rdma_device_removal
nvmet: don't fold lines
nvmet: use snprintf() with PAGE_SIZE in configfs

Chris Leech (1):
nvme-tcp: lockdep: annotate in-kernel sockets

Christoph Hellwig (22):
nvme: cleanup __nvme_check_ids
nvme: fix the check for duplicate unique identifiers
nvme: check for duplicate identifiers earlier
nvme: check that EUI/GUID/UUID are globally unique
iss-simdisk: use bvec_kmap_local in simdisk_submit_bio
aoe: use bvec_kmap_local in bvcpy
zram: use memcpy_to_bvec in zram_bvec_read
zram: use memcpy_from_bvec in zram_bvec_write
nvdimm-blk: use bvec_kmap_local in nd_blk_rw_integrity
nvdimm-btt: use bvec_kmap_local in btt_rw_integrity
bcache: use bvec_kmap_local in bio_csum
drbd: use bvec_kmap_local in drbd_csum_bio
drbd: use bvec_kmap_local in recv_dless_read
floppy: use memcpy_{to,from}_bvec
raid5-ppl: fully initialize the bio in ppl_new_iounit
raid5-cache: fully initialize flush_bio when needed
raid5-cache: statically allocate the recovery ra bio
raid5: initialize the stripe_head embeeded bios as needed
nvmet: move the call to nvmet_ns_changed out of nvmet_ns_revalidate
nvme: cleanup how disk->disk_name is assigned
nvme: remove nvme_alloc_request and nvme_alloc_request_qid
nvme: warn about shared namespaces without CONFIG_NVME_MULTIPATH

Christophe JAILLET (1):
block/rnbd: Remove a useless mutex

Colin Ian King (1):
loop: clean up grammar in warning message

Dirk Müller (1):
lib/raid6/test: fix multiple definition linking error

Eric Dumazet (1):
md: use msleep() in md_notify_reboot()

Gioh Kim (2):
block/rnbd-clt: fix CHECK:BRACES warning
block/rnbd: client device does not care queue/rotational

Guoqing Jiang (1):
nvme-multipath: call bio_io_error in nvme_ns_head_submit_bio

Hannes Reinecke (1):
nvme-multipath: use vmalloc for ANA log buffer

Jens Axboe (5):
Merge tag 'nvme-5.18-2022-03-03' of git://git.infradead.org/nvme into for-5.18/drivers
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache into for-5.18/drivers
Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-5.18/drivers
Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-5.18/drivers
Merge tag 'nvme-5.18-2022-03-17' of git://git.infradead.org/nvme into for-5.18/drivers

Juergen Gross (1):
xen/blkfront: speed up purge_persistent_grants()

Kanchan Joshi (1):
nvme: add vectored-io support for user-passthrough

Keith Busch (2):
nvme: explicitly set non-error for directives
nvme: remove nssa from struct nvme_ctrl

Mariusz Tkaczyk (1):
md: raid1/raid10: drop pending_cnt

Martin Belanger (2):
nvme: send uevent on connection up
nvme: expose cntrltype and dctype through sysfs

Max Gurtovoy (1):
nvme-rdma: add helpers for mapping/unmapping request

Mingzhe Zou (2):
bcache: fixup bcache_dev_sectors_dirty_add() multithreaded CPU false sharing
bcache: fixup multiple threads crash

Paul Menzel (2):
lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
lib/raid6: Include <asm/ppc-opcode.h> for VPERMXOR

Qinghua Jin (1):
nvme-fc: fix a typo

Randy Dunlap (1):
virtio_blk: eliminate anonymous module_init & module_exit

Sagi Grimberg (6):
nvme: replace ida_simple[get|remove] with the simler ida_[alloc|free]
nvme-fc: replace ida_simple[get|remove] with the simler ida_[alloc|free]
nvmet: replace ida_simple[get|remove] with the simler ida_[alloc|free]
nvmet-fc: replace ida_simple[get|remove] with the simler ida_[alloc|free]
nvmet-rdma: replace ida_simple[get|remove] with the simler ida_[alloc|free]
nvmet-tcp: replace ida_simple[get|remove] with the simler ida_[alloc|free]

arch/xtensa/platforms/iss/simdisk.c | 4 +-
drivers/block/aoe/aoecmd.c | 4 +-
drivers/block/drbd/drbd_receiver.c | 4 +-
drivers/block/drbd/drbd_worker.c | 6 +-
drivers/block/floppy.c | 6 +-
drivers/block/loop.c | 42 ++++--
drivers/block/null_blk/main.c | 54 ++++----
drivers/block/rnbd/rnbd-clt.c | 26 ++--
drivers/block/rnbd/rnbd-clt.h | 1 -
drivers/block/rnbd/rnbd-proto.h | 4 +-
drivers/block/rnbd/rnbd-srv.c | 1 -
drivers/block/virtio_blk.c | 8 +-
drivers/block/xen-blkfront.c | 5 +-
drivers/block/zram/zram_drv.c | 9 +-
drivers/md/bcache/btree.c | 6 +-
drivers/md/bcache/request.c | 4 +-
drivers/md/bcache/writeback.c | 17 ++-
drivers/md/md.c | 2 +-
drivers/md/raid1-10.c | 5 +
drivers/md/raid1.c | 11 --
drivers/md/raid1.h | 1 -
drivers/md/raid10.c | 17 +--
drivers/md/raid10.h | 1 -
drivers/md/raid5-cache.c | 33 +++--
drivers/md/raid5-ppl.c | 5 +-
drivers/md/raid5.c | 25 ++--
drivers/nvdimm/blk.c | 7 +-
drivers/nvdimm/btt.c | 10 +-
drivers/nvme/host/Kconfig | 8 ++
drivers/nvme/host/Makefile | 2 +-
drivers/nvme/host/constants.c | 185 +++++++++++++++++++++++++
drivers/nvme/host/core.c | 268 +++++++++++++++++++++++++-----------
drivers/nvme/host/fabrics.c | 9 +-
drivers/nvme/host/fc.c | 22 ++-
drivers/nvme/host/ioctl.c | 38 +++--
drivers/nvme/host/multipath.c | 32 +----
drivers/nvme/host/nvme.h | 47 +++++--
drivers/nvme/host/pci.c | 17 ++-
drivers/nvme/host/rdma.c | 117 +++++++++-------
drivers/nvme/host/tcp.c | 51 ++++++-
drivers/nvme/target/admin-cmd.c | 6 +-
drivers/nvme/target/configfs.c | 30 ++--
drivers/nvme/target/core.c | 9 +-
drivers/nvme/target/fc.c | 16 +--
drivers/nvme/target/io-cmd-bdev.c | 8 ++
drivers/nvme/target/io-cmd-file.c | 17 +--
drivers/nvme/target/loop.c | 6 +-
drivers/nvme/target/nvmet.h | 4 +-
drivers/nvme/target/passthru.c | 3 +-
drivers/nvme/target/rdma.c | 8 +-
drivers/nvme/target/tcp.c | 6 +-
drivers/nvme/target/zns.c | 6 +-
include/linux/nvme-fc-driver.h | 2 +-
include/linux/nvme.h | 11 +-
include/uapi/linux/nvme_ioctl.h | 6 +-
lib/raid6/test/Makefile | 4 +-
lib/raid6/test/test.c | 1 -
lib/raid6/vpermxor.uc | 2 +-
58 files changed, 820 insertions(+), 439 deletions(-)
create mode 100644 drivers/nvme/host/constants.c

--
Jens Axboe