Merge tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2022 18:43:59 +0000 (10:43 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2022 18:43:59 +0000 (10:43 -0800)
Pull block updates from Jens Axboe:

 - NVMe pull requests via Christoph:
      - Support some passthrough commands without CAP_SYS_ADMIN (Kanchan
        Joshi)
      - Refactor PCIe probing and reset (Christoph Hellwig)
      - Various fabrics authentication fixes and improvements (Sagi
        Grimberg)
      - Avoid fallback to sequential scan due to transient issues (Uday
        Shankar)
      - Implement support for the DEAC bit in Write Zeroes (Christoph
        Hellwig)
      - Allow overriding the IEEE OUI and firmware revision in configfs
        for nvmet (Aleksandr Miloserdov)
      - Force reconnect when number of queue changes in nvmet (Daniel
        Wagner)
      - Minor fixes and improvements (Uros Bizjak, Joel Granados, Sagi
        Grimberg, Christoph Hellwig, Christophe JAILLET)
      - Fix and cleanup nvme-fc req allocation (Chaitanya Kulkarni)
      - Use the common tagset helpers in nvme-pci driver (Christoph
        Hellwig)
      - Cleanup the nvme-pci removal path (Christoph Hellwig)
      - Use kstrtobool() instead of strtobool (Christophe JAILLET)
      - Allow unprivileged passthrough of Identify Controller (Joel
        Granados)
      - Support io stats on the mpath device (Sagi Grimberg)
      - Minor nvmet cleanup (Sagi Grimberg)

 - MD pull requests via Song:
      - Code cleanups (Christoph)
      - Various fixes

 - Floppy pull request from Denis:
      - Fix a memory leak in the init error path (Yuan)

 - Series fixing some batch wakeup issues with sbitmap (Gabriel)

 - Removal of the pktcdvd driver that was deprecated more than 5 years
   ago, and subsequent removal of the devnode callback in struct
   block_device_operations as no users are now left (Greg)

 - Fix for partition read on an exclusively opened bdev (Jan)

 - Series of elevator API cleanups (Jinlong, Christoph)

 - Series of fixes and cleanups for blk-iocost (Kemeng)

 - Series of fixes and cleanups for blk-throttle (Kemeng)

 - Series adding concurrent support for sync queues in BFQ (Yu)

 - Series bringing drbd a bit closer to the out-of-tree maintained
   version (Christian, Joel, Lars, Philipp)

 - Misc drbd fixes (Wang)

 - blk-wbt fixes and tweaks for enable/disable (Yu)

 - Fixes for mq-deadline for zoned devices (Damien)

 - Add support for read-only and offline zones for null_blk
   (Shin'ichiro)

 - Series fixing the delayed holder tracking, as used by DM (Yu,
   Christoph)

 - Series enabling bio alloc caching for IRQ based IO (Pavel)

 - Series enabling userspace peer-to-peer DMA (Logan)

 - BFQ waker fixes (Khazhismel)

 - Series fixing elevator refcount issues (Christoph, Jinlong)

 - Series cleaning up references around queue destruction (Christoph)

 - Series doing quiesce by tagset, enabling cleanups in drivers
   (Christoph, Chao)

 - Series untangling the queue kobject and queue references (Christoph)

 - Misc fixes and cleanups (Bart, David, Dawei, Jinlong, Kemeng, Ye,
   Yang, Waiman, Shin'ichiro, Randy, Pankaj, Christoph)

* tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linux: (247 commits)
  blktrace: Fix output non-blktrace event when blk_classic option enabled
  block: sed-opal: Don't include <linux/kernel.h>
  sed-opal: allow using IOC_OPAL_SAVE for locking too
  blk-cgroup: Fix typo in comment
  block: remove bio_set_op_attrs
  nvmet: don't open-code NVME_NS_ATTR_RO enumeration
  nvme-pci: use the tagset alloc/free helpers
  nvme: add the Apple shared tag workaround to nvme_alloc_io_tag_set
  nvme: only set reserved_tags in nvme_alloc_io_tag_set for fabrics controllers
  nvme: consolidate setting the tagset flags
  nvme: pass nr_maps explicitly to nvme_alloc_io_tag_set
  block: bio_copy_data_iter
  nvme-pci: split out a nvme_pci_ctrl_is_dead helper
  nvme-pci: return early on ctrl state mismatch in nvme_reset_work
  nvme-pci: rename nvme_disable_io_queues
  nvme-pci: cleanup nvme_suspend_queue
  nvme-pci: remove nvme_pci_disable
  nvme-pci: remove nvme_disable_admin_queue
  nvme: merge nvme_shutdown_ctrl into nvme_disable_ctrl
  nvme: use nvme_wait_ready in nvme_shutdown_ctrl
  ...

33 files changed:
1  2 
MAINTAINERS
block/bfq-cgroup.c
block/blk-cgroup.c
block/blk-core.c
block/blk-crypto.c
block/blk-mq.c
block/blk-settings.c
block/blk.h
block/genhd.c
block/sed-opal.c
drivers/block/Kconfig
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_receiver.c
drivers/md/bcache/request.c
drivers/nvme/host/core.c
drivers/nvme/host/multipath.c
drivers/nvme/host/pci.c
drivers/nvme/host/tcp.c
drivers/nvme/target/configfs.c
drivers/nvme/target/io-cmd-file.c
drivers/pci/p2pdma.c
drivers/ufs/core/ufshcd.c
include/linux/blk-crypto.h
include/linux/blk-mq.h
include/linux/blkdev.h
include/linux/mm.h
include/linux/uio.h
io_uring/rw.c
lib/iov_iter.c
lib/sbitmap.c
mm/gup.c
mm/huge_memory.c
mm/hugetlb.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc block/blk-mq.c
Simple merge
Simple merge
diff --cc block/blk.h
Simple merge
diff --cc block/genhd.c
index 0f9769db2de83405352dab021dacbe3f0ca91d0c,03a96d6473e1d44011a89bcb815f9129058cf7c1..08f76135a637357069fd4e2f8ae2cb8bc3c371ab
@@@ -527,9 -525,9 +526,10 @@@ out_unregister_bdi
                bdi_unregister(disk->bdi);
  out_unregister_queue:
        blk_unregister_queue(disk);
 +      rq_qos_exit(disk->queue);
  out_put_slave_dir:
        kobject_put(disk->slave_dir);
+       disk->slave_dir = NULL;
  out_put_holder_dir:
        kobject_put(disk->part0->bd_holder_dir);
  out_del_integrity:
Simple merge
Simple merge
index 0aa1dde07a98dfc8df87236c66aa86da4e7ab440,7213ffd69a16e60f3a156ee6a420a728af634df3..2f16e1bfb6e71d72b3f9db922e1fc86bd06682ab
@@@ -2788,8 -2787,10 +2787,10 @@@ enum drbd_ret_code drbd_create_device(s
        drbd_debugfs_device_add(device);
        return NO_ERROR;
  
+ out_destroy_workqueue:
+       destroy_workqueue(device->submit.wq);
  out_idr_remove_from_resource:
 -      for_each_connection(connection, resource) {
 +      for_each_connection_safe(connection, n, resource) {
                peer_device = idr_remove(&connection->peer_devices, vnr);
                if (peer_device)
                        kref_put(&connection->kref, drbd_destroy_connection);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc io_uring/rw.c
Simple merge
diff --cc lib/iov_iter.c
Simple merge
diff --cc lib/sbitmap.c
Simple merge
diff --cc mm/gup.c
Simple merge
Simple merge
diff --cc mm/hugetlb.c
Simple merge