Hi Linus, Block driver updates for 5.14-rc1, sitting on top of the core block changes sent in. Pretty calm round, mostly just NVMe and a bit of MD. - NVMe updates (via Christoph) - improve the APST configuration algorithm (Alexey Bogoslavsky) - look for StorageD3Enable on companion ACPI device (Mario Limonciello) - allow selecting the network interface for TCP connections (Martin Belanger) - misc cleanups (Amit Engel, Chaitanya Kulkarni, Colin Ian King, Christoph) - move the ACPI StorageD3 code to drivers/acpi/ and add quirks for certain AMD CPUs (Mario Limonciello) - zoned device support for nvmet (Chaitanya Kulkarni) - fix the rules for changing the serial number in nvmet (Noam Gottlieb) - various small fixes and cleanups (Dan Carpenter, JK Kim, Chaitanya Kulkarni, Hannes Reinecke, Wesley Sheng, Geert Uytterhoeven, Daniel Wagner) - MD updates (Via Song) - iostats rewrite (Guoqing Jiang) - raid5 lock contention optimization (Gal Ofri) - Fall through warning fix (Gustavo) - Misc fixes (Gustavo, Jiapeng) Note that this will throw a trivial merge conflict in drivers/nvme/host/fabrics.c due to the NVME_SC_HOST_PATH_ERROR addition. Please pull! The following changes since commit c4681547bcce777daf576925a966ffa824edd09d: Linux 5.13-rc3 (2021-05-23 11:42:48 -1000) are available in the Git repository at: git://git.kernel.dk/linux-block.git tags/for-5.14/drivers-2021-06-29 for you to fetch changes up to 5ed9b357024dc43f75099f597187df05bcd5173c: Merge tag 'nvme-5.14-2021-06-22' of git://git.infradead.org/nvme into for-5.14/drivers (2021-06-24 09:39:02 -0600) ---------------------------------------------------------------- for-5.14/drivers-2021-06-29 ---------------------------------------------------------------- Alexey Bogoslavsky (1): nvme: extend and modify the APST configuration algorithm Amit Engel (1): nvmet: move ka_work initialization to nvmet_alloc_ctrl Chaitanya Kulkarni (30): nvme-fabrics: fix the kerneldco comment for nvmf_log_connect_error() nvme-fabrics: remove extra new lines in the switch nvme-fabrics: remove an extra comment nvme-fabrics: remove extra braces nvmet: remove a superfluous variable nvme: factor out a nvme_validate_passthru_nsid helper nvme-pci: remove trailing lines for helpers nvme: add a helper to check ctrl sgl support nvme-fc: use ctrl sgl check helper nvme-pci: use ctrl sgl check helper nvme-tcp: use ctrl sgl check helper nvme-fabrics: remove memset in nvmf_reg_read64() nvme-fabrics: remove memset in nvmf_reg_write32() nvme-fabrics: remove memset in connect admin q nvme-fabrics: remove memset in connect io q nvmet: use req->cmd directly in bdev-ns fast path nvmet: use req->cmd directly in file-ns fast path nvmet: use u32 for nvmet_subsys max_nsid nvmet: use u32 type for the local variable nsid nvmet: use nvme status value directly nvmet: remove local variable block: export blk_next_bio() nvmet: add req cns error complete helper nvmet: add nvmet_req_bio put helper for backends nvmet: add Command Set Identifier support nvmet: add ZBD over ZNS backend support nvmet: remove zeroout memset call for struct nvme-pci: remove zeroout memset call for struct nvme: remove zeroout memset call for struct nvmet: use NVMET_MAX_NAMESPACES to set nn value Christoph Hellwig (8): nvme: open code nvme_put_ns_from_disk in nvme_ns_head_chr_ioctl nvme: open code nvme_{get,put}_ns_from_disk in nvme_ns_head_ioctl nvme: open code nvme_put_ns_from_disk in nvme_ns_head_ctrl_ioctl nvme: add a sparse annotation to nvme_ns_head_ctrl_ioctl nvme: move the CSI sanity check into nvme_ns_report_zones nvme: split nvme_report_zones nvme: remove nvme_{get,put}_ns_from_disk mark pstore-blk as broken Colin Ian King (1): nvme: remove redundant initialization of variable ret Dan Carpenter (1): nvme-tcp: fix error codes in nvme_tcp_setup_ctrl() Daniel Wagner (2): nvme: verify MNAN value if ANA is enabled nvme: remove superfluous bio_set_dev in nvme_requeue_work Gal Ofri (1): md/raid5: avoid device_lock in read_one_chunk() Geert Uytterhoeven (1): nvme: fix grammar in the CONFIG_NVME_MULTIPATH kconfig help text Guoqing Jiang (10): md: revert io stats accounting md: add io accounting for raid0 and raid5 md/raid5: move checking badblock before clone bio in raid5_read_one_chunk md/raid5: avoid redundant bio clone in raid5_read_one_chunk md/raid1: rename print_msg with r1bio_existed md/raid1: enable io accounting md/raid10: enable io accounting md: mark some personalities as deprecated md: check level before create and exit io_acct_set md: add comments in md_integrity_register Gustavo A. R. Silva (2): rsxx: Use struct_size() in vmalloc() floppy: Fix fall-through warning for Clang Hannes Reinecke (1): nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() JK Kim (1): nvme-pci: fix var. type for increasing cq_head Jens Axboe (4): Merge tag 'nvme-5.14-2021-06-08' of git://git.infradead.org/nvme into for-5.14/drivers Merge tag 'floppy-for-5.14' of https://github.com/evdenis/linux-floppy into for-5.14/drivers Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-5.14/drivers Merge tag 'nvme-5.14-2021-06-22' of git://git.infradead.org/nvme into for-5.14/drivers Jiapeng Chong (1): floppy: cleanup: remove redundant assignment to nr_sectors Kristian Klausen (1): loop: Fix missing discard support when using LOOP_CONFIGURE Mario Limonciello (3): nvme-pci: look for StorageD3Enable on companion ACPI device instead ACPI: Check StorageD3Enable _DSD property in ACPI code ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint Martin Belanger (1): nvme-tcp: allow selecting the network interface for connections Noam Gottlieb (4): nvmet: change sn size and check validity nvmet: make sn stable once connection was established nvmet: allow mn change if subsys not discovered nvmet: make ver stable once connection established Rikard Falkeborn (1): md: Constify attribute_group structs Wesley Sheng (1): nvme.h: add missing nvme_lba_range_type endianness annotations Yang Yingliang (1): aoe: remove unnecessary mutex_init() Zhen Lei (6): aoe: remove unnecessary oom message drbd: remove unnecessary oom message mtip32xx: remove unnecessary oom message sunvdc: remove unnecessary oom message sx8: remove unnecessary oom message z2ram: remove unnecessary oom message block/blk-lib.c | 1 + drivers/acpi/device_pm.c | 32 ++ drivers/acpi/internal.h | 9 + drivers/acpi/x86/utils.c | 25 ++ drivers/block/aoe/aoechr.c | 4 +- drivers/block/drbd/drbd_receiver.c | 22 +- drivers/block/floppy.c | 2 +- drivers/block/loop.c | 1 + drivers/block/mtip32xx/mtip32xx.c | 26 +- drivers/block/rsxx/dma.c | 6 +- drivers/block/sunvdc.c | 3 +- drivers/block/sx8.c | 2 - drivers/block/z2ram.c | 10 +- drivers/md/Kconfig | 6 +- drivers/md/md-bitmap.c | 2 +- drivers/md/md-faulty.c | 2 +- drivers/md/md-linear.c | 2 +- drivers/md/md-multipath.c | 2 +- drivers/md/md.c | 116 +++--- drivers/md/md.h | 13 +- drivers/md/raid0.c | 3 + drivers/md/raid1.c | 15 +- drivers/md/raid1.h | 1 + drivers/md/raid10.c | 6 + drivers/md/raid10.h | 1 + drivers/md/raid5.c | 63 ++- drivers/nvme/host/Kconfig | 2 +- drivers/nvme/host/core.c | 192 ++++++--- drivers/nvme/host/fabrics.c | 56 +-- drivers/nvme/host/fabrics.h | 6 +- drivers/nvme/host/fc.c | 2 +- drivers/nvme/host/ioctl.c | 61 +-- drivers/nvme/host/multipath.c | 33 +- drivers/nvme/host/nvme.h | 17 +- drivers/nvme/host/pci.c | 82 +--- drivers/nvme/host/rdma.c | 2 +- drivers/nvme/host/tcp.c | 31 +- drivers/nvme/host/zns.c | 27 +- drivers/nvme/target/Makefile | 1 + drivers/nvme/target/admin-cmd.c | 155 +++++--- drivers/nvme/target/configfs.c | 102 +++-- drivers/nvme/target/core.c | 100 +++-- drivers/nvme/target/discovery.c | 8 +- drivers/nvme/target/fc.c | 10 +- drivers/nvme/target/io-cmd-bdev.c | 36 +- drivers/nvme/target/io-cmd-file.c | 4 +- drivers/nvme/target/nvmet.h | 41 +- drivers/nvme/target/passthru.c | 3 +- drivers/nvme/target/rdma.c | 3 +- drivers/nvme/target/zns.c | 615 +++++++++++++++++++++++++++++ fs/pstore/Kconfig | 1 + include/linux/acpi.h | 5 + include/linux/bio.h | 2 + include/linux/nvme.h | 12 +- 54 files changed, 1467 insertions(+), 517 deletions(-) create mode 100644 drivers/nvme/target/zns.c -- Jens Axboe