Hi Linus, On top of the core changes, here are the block driver changes for this merge window: - NVMe changes: - NVMe over Fibre Channel protocol updates, which also reach over to drivers/scsi/lpfc (James Smart) - namespace revalidation support on the target (Anthony Iliopoulos) - gcc zero length array fix (Arnd Bergmann) - nvmet cleanups (Chaitanya Kulkarni) - misc cleanups and fixes (me, Keith Busch, Sagi Grimberg) - use a SRQ per completion vector (Max Gurtovoy) - fix handling of runtime changes to the queue count (Weiping Zhang) - t10 protection information support for nvme-rdma and nvmet-rdma (Israel Rukshin and Max Gurtovoy) - target side AEN improvements (Chaitanya Kulkarni) - various fixes and minor improvements all over, icluding the nvme part of the lpfc driver" - Floppy code cleanup series (Willy, Denis) - Floppy contention fix (Jiri) - Loop CONFIGURE support (Martijn) - bcache fixes/improvements (Coly, Joe, Colin) - q->queuedata cleanups (Christoph) - Get rid of ioctl_by_bdev (Christoph, Stefan) - md/raid5 allocation fixes (Coly) - zero length array fixes (Gustavo) - swim3 task state fix (Xu) Please pull! git://git.kernel.dk/linux-block.git tags/for-5.8/drivers-2020-06-01 ---------------------------------------------------------------- Anthony Iliopoulos (1): nvmet: add ns revalidation support Arnd Bergmann (1): nvme-fc: avoid gcc-10 zero-length-bounds warning Chaitanya Kulkarni (10): nvmet: add generic type-name mapping nvmet: use type-name map for address family nvmet: use type-name map for ana states nvmet: use type-name map for address treq nvmet: centralize port enable access for configfs nvmet: align addrfam list to spec nvmet: add async event tracing support nvmet: add helper to revalidate bdev and file ns nvmet: generate AEN for ns revalidate size change nvmet: revalidate-ns & generate AEN from configfs Chen Zhou (1): nvmet: replace kstrndup() with kmemdup_nul() Christoph Hellwig (11): nvme: refine the Qemu Identify CNS quirk nvme: clean up nvme_scan_work nvme: factor out a nvme_ns_remove_by_nsid helper nvme: avoid an Identify Controller command for each namespace scan nvme: remove the magic 1024 constant in nvme_scan_ns_list nvme: clean up error handling in nvme_init_ns_head nvme-multipath: stop using ->queuedata md: stop using ->queuedata dasd: refactor dasd_ioctl_information block: remove ioctl_by_bdev nvmet: mark nvmet_ana_state static Colin Ian King (2): loop: remove redundant assignment to variable error bcache: remove redundant variables i and n Coly Li (7): md: use memalloc scope APIs in mddev_suspend()/mddev_resume() raid5: remove gfp flags from scribble_alloc() raid5: update code comment of scribble_alloc() md: remove redundant memalloc scope API usage bcache: fix refcount underflow in bcache_device_free() bcache: asynchronous devices registration bcache: configure the asynchronous registertion to be experimental Damien Le Moal (1): nvme: fix io_opt limit setting Dan Carpenter (1): nvme: delete an unnecessary declaration David Jeffery (1): md/raid1: release pending accounting for an I/O only after write-behind is also finished David Milburn (1): nvmet: cleanups the loop in nvmet_async_events_process Denis Efremov (4): floppy: use print_hex_dump() in setup_DMA() floppy: add FD_AUTODETECT_SIZE define for struct floppy_drive_params floppy: add defines for sizes of cmd & reply buffers of floppy_raw_cmd floppy: suppress UBSAN warning in setup_rw_floppy() Guoqing Jiang (5): md: add checkings before flush md_misc_wq md: add new workqueue for delete rdev md: don't flush workqueue unconditionally in md_open md: flush md_rdev_misc_wq for HOT_ADD_DISK case md: remove the extra line for ->hot_add_disk Gustavo A. R. Silva (2): md/raid1: Replace zero-length array with flexible-array nvme: replace zero-length array with flexible-array Israel Rukshin (9): nvme: introduce NVME_INLINE_METADATA_SG_CNT nvme-rdma: introduce nvme_rdma_sgl structure nvmet: add metadata characteristics for a namespace nvmet: rename nvmet_rw_len to nvmet_rw_data_len nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len nvme: add Metadata Capabilities enumerations nvmet: add metadata/T10-PI support nvmet: add metadata support for block devices nvmet-rdma: add metadata/T10-PI support James Smart (31): nvme-fc: Sync header to FC-NVME-2 rev 1.08 nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request nvme-fc nvmet-fc: refactor for common LS definitions nvmet-fc: Better size LS buffers nvme-fc: Ensure private pointers are NULL if no data nvme-fc: convert assoc_active flag to bit op nvme-fc: Update header and host for common definitions for LS handling nvmet-fc: Update target for common definitions for LS handling nvme-fc: Add Disconnect Association Rcv support nvmet-fc: add LS failure messages nvmet-fc: perform small cleanups on unneeded checks nvmet-fc: track hostport handle for associations nvmet-fc: rename ls_list to ls_rcv_list nvmet-fc: Add Disconnect Association Xmt support nvme-fcloop: refactor to enable target to host LS nvme-fcloop: add target to host LS request support lpfc: Refactor lpfc nvme headers lpfc: Refactor nvmet_rcv_ctx to create lpfc_async_xchg_ctx lpfc: Commonize lpfc_async_xchg_ctx state and flag definitions lpfc: Refactor NVME LS receive handling lpfc: Refactor Send LS Request support lpfc: Refactor Send LS Abort support lpfc: Refactor Send LS Response support lpfc: nvme: Add Receive LS Request and Send LS Response support to nvme lpfc: nvmet: Add support for NVME LS request hosthandle lpfc: nvmet: Add Send LS Request and Abort LS Request support nvmet-fc: slight cleanup for kbuild test warnings nvme: make nvme_ns_has_pi accessible to transports lpfc: Fix pointer checks and comments in LS receive refactoring lpfc: fix axchg pointer reference after free and double frees lpfc: Fix return value in __lpfc_nvme_ls_abort Jens Axboe (3): Merge tag 'floppy-for-5.8' of https://github.com/evdenis/linux-floppy into for-5.8/drivers Merge branch 'md-next' of git://git.kernel.org/.../song/md into for-5.8/drivers Merge branch 'nvme-5.8' of git://git.infradead.org/nvme into for-5.8/drivers Jiri Kosina (1): block/floppy: fix contended case in floppy_queue_rq() Joe Perches (1): bcache: Convert pr_<level> uses to a more typical style Keith Busch (16): nvme: provide num dword helper nvme: remove unused parameter nvme: unlink head after removing last namespace nvme: release namespace head reference on error nvme: always search for namespace head nvme: check namespace head shared property nvme-multipath: set bdi capabilities once nvme: revalidate after verifying identifiers nvme: consolidate chunk_sectors settings nvme: revalidate namespace stream parameters nvme: consolodate io settings nvme: flush scan work on passthrough commands nvme-pci: remove volatile cqes nvme-pci: remove last_sq_tail nvme: define constants for identification values nvme: set dma alignment to qword Martijn Coenen (11): loop: Call loop_config_discard() only after new config is applied loop: Remove sector_t truncation checks loop: Factor out setting loop device size loop: Switch to set_capacity_revalidate_and_notify() loop: Refactor loop_set_status() size calculation loop: Remove figure_loop_size() loop: Factor out configuring loop from status loop: Move loop_set_status_from_info() and friends up loop: Rework lo_ioctl() __user argument casting loop: Clean up LOOP_SET_STATUS lo_flags handling loop: Add LOOP_CONFIGURE ioctl Martin George (1): nvme-fc: print proper nvme-fc devloss_tmo value Max Gurtovoy (7): nvmet-rdma: use SRQ per completion vector block: always define struct blk_integrity in genhd.h nvme: introduce namespace features flag nvme: introduce NVME_NS_METADATA_SUPPORTED flag nvme: introduce max_integrity_segments ctrl attribute nvme: enforce extended LBA format for fabrics metadata nvme-rdma: add metadata/T10-PI support Sagi Grimberg (8): nvme-tcp: use bh_lock in data_ready nvme-tcp: avoid scheduling io_work if we are already polling nvme-tcp: try to send request in queue_rq context nvme-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send nvmet-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send nvmet-tcp: set MSG_EOR if we send last payload in the batch nvmet-tcp: move send/recv error handling in the send/recv methods instead of call-sites nvmet: fix memory leak when removing namespaces and controllers concurrently Stefan Haberland (1): s390/dasd: remove ioctl_by_bdev calls Weiping Zhang (2): nvme-pci: align io queue count with allocted nvme_queue in nvme_probe nvme-pci: make sure write/poll_queues less or equal then cpu count Willy Tarreau (27): floppy: split the base port from the register in I/O accesses floppy: add references to 82077's extra registers floppy: use symbolic register names in the m68k port floppy: use symbolic register names in the parisc port floppy: use symbolic register names in the powerpc port floppy: use symbolic register names in the sparc32 port floppy: use symbolic register names in the sparc64 port floppy: use symbolic register names in the x86 port floppy: cleanup: make twaddle() not rely on current_{fdc,drive} anymore floppy: cleanup: make reset_fdc_info() not rely on current_fdc anymore floppy: cleanup: make show_floppy() not rely on current_fdc anymore floppy: cleanup: make wait_til_ready() not rely on current_fdc anymore floppy: cleanup: make output_byte() not rely on current_fdc anymore floppy: cleanup: make result() not rely on current_fdc anymore floppy: cleanup: make need_more_output() not rely on current_fdc anymore floppy: cleanup: make perpendicular_mode() not rely on current_fdc anymore floppy: cleanup: make fdc_configure() not rely on current_fdc anymore floppy: cleanup: make fdc_specify() not rely on current_{fdc,drive} anymore floppy: cleanup: make check_wp() not rely on current_{fdc,drive} anymore floppy: cleanup: make next_valid_format() not rely on current_drive anymore floppy: cleanup: make get_fdc_version() not rely on current_fdc anymore floppy: cleanup: do not iterate on current_fdc in DMA grab/release functions floppy: cleanup: add a few comments about expectations in certain functions floppy: cleanup: do not iterate on current_fdc in do_floppy_init() floppy: make sure to reset all FDCs upon resume() floppy: cleanup: get rid of current_reqD in favor of current_drive floppy: cleanup: make set_fdc() always set current_drive and current_fd Wu Bo (1): nvme: disable streams when get stream params failed Xiongfeng Wang (1): md: add a newline when printing parameter 'start_ro' by sysfs Xu Wang (1): block/swim3: use set_current_state macro MAINTAINERS | 1 + arch/alpha/include/asm/floppy.h | 4 +- arch/arm/include/asm/floppy.h | 8 +- arch/m68k/include/asm/floppy.h | 27 +- arch/mips/include/asm/mach-generic/floppy.h | 8 +- arch/mips/include/asm/mach-jazz/floppy.h | 8 +- arch/parisc/include/asm/floppy.h | 19 +- arch/powerpc/include/asm/floppy.h | 19 +- arch/sparc/include/asm/floppy_32.h | 50 +- arch/sparc/include/asm/floppy_64.h | 59 +- arch/x86/include/asm/floppy.h | 19 +- block/partitions/ibm.c | 24 +- drivers/block/floppy.c | 466 ++++++++-------- drivers/block/loop.c | 383 +++++++------ drivers/block/swim.c | 6 +- drivers/md/bcache/Kconfig | 9 + drivers/md/bcache/bcache.h | 2 +- drivers/md/bcache/bset.c | 6 +- drivers/md/bcache/btree.c | 16 +- drivers/md/bcache/extents.c | 12 +- drivers/md/bcache/io.c | 8 +- drivers/md/bcache/journal.c | 34 +- drivers/md/bcache/request.c | 6 +- drivers/md/bcache/super.c | 232 +++++--- drivers/md/bcache/sysfs.c | 8 +- drivers/md/bcache/writeback.c | 6 +- drivers/md/md-linear.h | 2 +- drivers/md/md.c | 71 ++- drivers/md/md.h | 1 + drivers/md/raid1.c | 13 +- drivers/md/raid1.h | 2 +- drivers/md/raid10.h | 2 +- drivers/md/raid5.c | 22 +- drivers/nvme/host/core.c | 322 ++++++----- drivers/nvme/host/fc.c | 577 +++++++++++++++---- drivers/nvme/host/fc.h | 227 ++++++++ drivers/nvme/host/lightnvm.c | 7 +- drivers/nvme/host/multipath.c | 16 +- drivers/nvme/host/nvme.h | 28 +- drivers/nvme/host/pci.c | 117 ++-- drivers/nvme/host/rdma.c | 321 ++++++++++- drivers/nvme/host/tcp.c | 64 ++- drivers/nvme/target/Kconfig | 1 + drivers/nvme/target/admin-cmd.c | 42 +- drivers/nvme/target/configfs.c | 272 +++++---- drivers/nvme/target/core.c | 166 ++++-- drivers/nvme/target/discovery.c | 8 +- drivers/nvme/target/fabrics-cmd.c | 15 +- drivers/nvme/target/fc.c | 805 +++++++++++++++++++-------- drivers/nvme/target/fcloop.c | 155 +++++- drivers/nvme/target/io-cmd-bdev.c | 118 +++- drivers/nvme/target/io-cmd-file.c | 23 +- drivers/nvme/target/nvmet.h | 36 +- drivers/nvme/target/rdma.c | 416 +++++++++++--- drivers/nvme/target/tcp.c | 53 +- drivers/nvme/target/trace.h | 28 + drivers/s390/block/dasd_ioctl.c | 76 ++- drivers/scsi/lpfc/lpfc.h | 2 +- drivers/scsi/lpfc/lpfc_attr.c | 3 - drivers/scsi/lpfc/lpfc_crtn.h | 9 +- drivers/scsi/lpfc/lpfc_ct.c | 1 - drivers/scsi/lpfc/lpfc_debugfs.c | 5 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 8 +- drivers/scsi/lpfc/lpfc_init.c | 7 +- drivers/scsi/lpfc/lpfc_mem.c | 4 - drivers/scsi/lpfc/lpfc_nportdisc.c | 13 +- drivers/scsi/lpfc/lpfc_nvme.c | 491 ++++++++++------ drivers/scsi/lpfc/lpfc_nvme.h | 180 ++++++ drivers/scsi/lpfc/lpfc_nvmet.c | 833 +++++++++++++++++----------- drivers/scsi/lpfc/lpfc_nvmet.h | 158 ------ drivers/scsi/lpfc/lpfc_sli.c | 128 ++++- fs/block_dev.c | 12 - include/linux/dasd_mod.h | 9 + include/linux/fs.h | 1 - include/linux/genhd.h | 4 - include/linux/nvme-fc-driver.h | 368 ++++++++---- include/linux/nvme-fc.h | 11 +- include/linux/nvme.h | 16 +- include/uapi/linux/fd.h | 26 +- include/uapi/linux/fdreg.h | 16 +- include/uapi/linux/loop.h | 31 +- 81 files changed, 5429 insertions(+), 2353 deletions(-) create mode 100644 drivers/nvme/host/fc.h delete mode 100644 drivers/scsi/lpfc/lpfc_nvmet.h create mode 100644 include/linux/dasd_mod.h -- Jens Axboe