mbox series

[GIT,PULL] Block updates for 6.4-rc1

Message ID 360c9052-38c9-ae6d-2bdd-206482d75132@kernel.dk (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Block updates for 6.4-rc1 | expand

Pull-request

git://git.kernel.dk/linux.git tags/for-6.4/block-2023-04-21

Message

Jens Axboe April 21, 2023, 8 p.m. UTC
Hi Linus,

Here are the block updates for the 6.4 merge window. This pull request
contains:

- Set of drbd patches, bringing us closer to unifying the out-of-tree
  version and the in tree one (Andreas, Christoph)

- Support for auto-quiesce for the s390 dasd driver (Stefan)

- MD pull request via Song
	- md/bitmap: Optimal last page size (Jon Derrick)
	- Various raid10 fixes (Yu Kuai, Li Nan)
	- md: add error_handlers for raid0 and linear (Mariusz Tkaczyk)

- NVMe pull request via Christoph
	- Drop redundant pci_enable_pcie_error_reporting (Bjorn Helgaas)
	- Validate nvmet module parameters (Chaitanya Kulkarni)
	- Fence TCP socket on receive error (Chris Leech)
	- Fix async event trace event (Keith Busch)
	- Minor cleanups (Chaitanya Kulkarni, zhenwei pi)
	- Fix and cleanup nvmet Identify handling (Damien Le Moal,
	  Christoph Hellwig)
	- Fix double blk_mq_complete_request race in the timeout handler
	  (Lei Yin)
	- Fix irq locking in nvme-fcloop (Ming Lei)
	- Remove queue mapping helper for rdma devices (Sagi Grimberg)

- Use structured request attribute checks for nbd (Jakub)

- Fix blk-crypto race conditions between keyslot management (Eric)

- Add sed-opal support for reading read locking range attributes
  (Ondrej)

- Make fault injection configurable for null_blk (Akinobu)

- Series cleaning up the request insertion API (Christoph)

- Series cleaning up the queue running API (Christoph)

- blkg config helper cleanups (Tejun)

- Lazy init support for blk-iolatency (Tejun)

- Various fixes and tweaks to ublk (Ming)

- Remove hybrid polling. It hasn't really been useful since we got async
  polled IO support, and these days we don't support sync polled IO at
  all. (Keith)

- Misc fixes, cleanups, improvements (Zhong, Ondrej, Colin, Chengming,
  Chaitanya, me)

Please pull!


The following changes since commit eeac8ede17557680855031c6f305ece2378af326:

  Linux 6.3-rc2 (2023-03-12 16:36:44 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.4/block-2023-04-21

for you to fetch changes up to 55793ea54d77719a071b1ccc05a05056e3b5e009:

  nbd: fix incomplete validation of ioctl arg (2023-04-20 13:43:44 -0600)

----------------------------------------------------------------
for-6.4/block-2023-04-21

----------------------------------------------------------------
Akinobu Mita (3):
      fault-inject: allow configuration via configfs
      block: null_blk: make fault-injection dynamically configurable per device
      fault-inject: fix build error when FAULT_INJECTION_CONFIGFS=y and CONFIGFS_FS=m

Andreas Gruenbacher (3):
      drbd: Rip out the ERR_IF_CNT_IS_NEGATIVE macro
      drbd: Add peer device parameter to whole-bitmap I/O handlers
      drbd: INFO_bm_xfer_stats(): Pass a peer device argument

Bjorn Helgaas (1):
      nvme-pci: drop redundant pci_enable_pcie_error_reporting()

Chaitanya Kulkarni (9):
      block: open code __blk_account_io_start()
      block: open code __blk_account_io_done()
      null_blk: use non-deprecated lib functions
      null_blk: use kmap_local_page() and kunmap_local()
      nvmet-tcp: validate so_priority modparam value
      nvmet-tcp: validate idle poll modparam value
      nvme-apple: return directly instead of else
      nvme-apple: return directly instead of else
      null_blk: Always check queue mode setting from configfs

Chengming Zhou (5):
      block, bfq: remove BFQ_WEIGHT_LEGACY_DFL
      blk-cgroup: delete cpd_bind_fn of blkcg_policy
      blk-cgroup: delete cpd_init_fn of blkcg_policy
      blk-stat: fix QUEUE_FLAG_STATS clear
      blk-throttle: only enable blk-stat when BLK_DEV_THROTTLING_LOW

Chris Leech (1):
      nvme-tcp: fence TCP socket on receive error

Christoph Böhmwalder (4):
      genetlink: make _genl_cmd_to_str static
      drbd: drbd_uuid_compare: pass a peer_device
      drbd: pass drbd_peer_device to __req_mod
      drbd: Pass a peer device to the resync and online verify functions

Christoph Hellwig (29):
      nvmet: fix Identify Identification Descriptor List handling
      nvmet: rename nvmet_execute_identify_cns_cs_ns
      nvmet: remove nvmet_req_cns_error_complete
      blk-mq: don't plug for head insertions in blk_execute_rq_nowait
      blk-mq: remove blk-mq-tag.h
      blk-mq: include <linux/blk-mq.h> in block/blk-mq.h
      blk-mq: move more logic into blk_mq_insert_requests
      blk-mq: fold blk_mq_sched_insert_requests into blk_mq_dispatch_plug_list
      blk-mq: move blk_mq_sched_insert_request to blk-mq.c
      blk-mq: fold __blk_mq_insert_request into blk_mq_insert_request
      blk-mq: fold __blk_mq_insert_req_list into blk_mq_insert_request
      blk-mq: remove blk_flush_queue_rq
      blk-mq: refactor passthrough vs flush handling in blk_mq_insert_request
      blk-mq: refactor the DONTPREP/SOFTBARRIER andling in blk_mq_requeue_work
      blk-mq: factor out a blk_mq_get_budget_and_tag helper
      blk-mq: fold __blk_mq_try_issue_directly into its two callers
      blk-mq: don't run the hw_queue from blk_mq_insert_request
      blk-mq: don't run the hw_queue from blk_mq_request_bypass_insert
      blk-mq: don't kick the requeue_list in blk_mq_add_to_requeue_list
      blk-mq: pass a flags argument to blk_mq_insert_request
      blk-mq: pass a flags argument to blk_mq_request_bypass_insert
      blk-mq: pass a flags argument to elevator_type->insert_requests
      blk-mq: pass a flags argument to blk_mq_add_to_requeue_list
      blk-mq: cleanup __blk_mq_sched_dispatch_requests
      blk-mq: remove the blk_mq_hctx_stopped check in blk_mq_run_work_fn
      blk-mq: move the blk_mq_hctx_stopped check in __blk_mq_delay_run_hw_queue
      blk-mq: move the !async handling out of __blk_mq_delay_run_hw_queue
      blk-mq: remove __blk_mq_run_hw_queue
      blk-mq: fix the blk_mq_add_to_requeue_list call in blk_kick_flush

Colin Ian King (1):
      block, bfq: Fix division by zero error on zero wsum

Damien Le Moal (6):
      nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns()
      nvmet: fix Identify Namespace handling
      nvmet: fix Identify Controller handling
      nvmet: fix Identify Active Namespace ID list handling
      nvmet: fix I/O Command Set specific Identify Controller
      nvmet: cleanup nvmet_execute_identify()

Eric Biggers (6):
      blk-mq: release crypto keyslot before reporting I/O complete
      blk-crypto: make blk_crypto_evict_key() return void
      blk-crypto: make blk_crypto_evict_key() more robust
      blk-crypto: remove blk_crypto_insert_cloned_request()
      blk-mq: return actual keyslot error in blk_insert_cloned_request()
      blk-crypto: drop the NULL check from blk_crypto_put_keyslot()

Jakub Kicinski (2):
      nbd: allow genl access outside init_net
      nbd: use the structured req attr check

Jens Axboe (4):
      Merge tag 'nvme-6.4-2023-04-14' of git://git.infradead.org/nvme into for-6.4/block
      Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.4/block
      block: re-arrange the struct block_device fields for better layout
      block: store bdev->bd_disk->fops->submit_bio state in bdev

Jiangshan Yi (1):
      md/raid10: Fix typo in comment (replacment -> replacement)

Jon Derrick (3):
      md: Move sb writer loop to its own function
      md: Fix types in sb writer
      md: Use optimal I/O size for last bitmap page

Keith Busch (2):
      blk-mq: remove hybrid polling
      nvme: fix async event trace event

Lei Yin (1):
      nvme: fix double blk_mq_complete_request for timeout request with low probability

Li Nan (2):
      md/raid10: fix task hung in raid10d
      md/raid10: fix null-ptr-deref in raid10_sync_request

Mariusz Tkaczyk (1):
      md: add error_handlers for raid0 and linear

Ming Lei (8):
      block: ublk_drv: add common exit handling
      block: ublk_drv: don't consider flush request in map/unmap io
      block: ublk_drv: add two helpers to clean up map/unmap request
      block: ublk_drv: clean up several helpers
      block: ublk_drv: cleanup 'struct ublk_map_data'
      nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
      block: ublk: switch to ioctl command encoding
      ublk: don't return 0 in case of any failure

Ondrej Kozina (6):
      sed-opal: do not add same authority twice in boolean ace.
      sed-opal: add helper for adding user authorities in ACE.
      sed-opal: allow user authority to get locking range attributes.
      sed-opal: add helper to get multiple columns at once.
      sed-opal: Add command to read locking range parameters.
      sed-opal: geometry feature reporting command

Sagi Grimberg (1):
      blk-mq-rdma: remove queue mapping helper for rdma devices

Stefan Haberland (7):
      s390/dasd: remove unused DASD EER defines
      s390/dasd: add autoquiesce feature
      s390/dasd: add aq_mask sysfs attribute
      s390/dasd: add aq_requeue sysfs attribute
      s390/dasd: add aq_timeouts autoquiesce trigger
      s390/dasd: add autoquiesce event for start IO error
      s390/dasd: fix hanging blockdevice after request requeue

Tejun Heo (4):
      blkcg: Drop unnecessary RCU read [un]locks from blkg_conf_prep/finish()
      blkcg: Restructure blkg_conf_prep() and friends
      blk-iolatency: s/blkcg_rq_qos/iolat_rq_qos/
      blk-iolatency: Make initialization lazy

Thomas Weißschuh (1):
      md: make kobj_type structures constant

Tom Rix (1):
      md/raid5: remove unused working_disks variable

Yu Kuai (6):
      md: fix soft lockup in status_resync
      md/raid10: don't BUG_ON() in raise_barrier()
      md/raid10: fix leak of 'r10bio->remaining' for recovery
      md/raid10: fix memleak for 'conf->bio_split'
      md/raid10: fix memleak of md thread
      md/raid10: don't call bio_start_io_acct twice for bio which experienced read error

Zhong Jinghua (1):
      nbd: fix incomplete validation of ioctl arg

zhenwei pi (1):
      nvme-rdma: minor cleanup in nvme_rdma_create_cq()

 Documentation/ABI/stable/sysfs-block              |  15 +-
 Documentation/block/inline-encryption.rst         |   3 +-
 Documentation/fault-injection/fault-injection.rst |   8 +
 arch/s390/include/uapi/asm/dasd.h                 |   2 +
 block/Kconfig                                     |   5 -
 block/Makefile                                    |   1 -
 block/bdev.c                                      |   1 +
 block/bfq-cgroup.c                                |  20 +-
 block/bfq-iosched.c                               |  19 +-
 block/bfq-iosched.h                               |   1 -
 block/blk-cgroup.c                                | 147 +++--
 block/blk-cgroup.h                                |  12 +-
 block/blk-core.c                                  |  14 +-
 block/blk-crypto-internal.h                       |  38 +-
 block/blk-crypto-profile.c                        |  60 +-
 block/blk-crypto.c                                |  66 ++-
 block/blk-flush.c                                 |  17 +-
 block/blk-iocost.c                                |  58 +-
 block/blk-iolatency.c                             |  39 +-
 block/blk-merge.c                                 |   2 +
 block/blk-mq-cpumap.c                             |   1 -
 block/blk-mq-debugfs.c                            |  28 -
 block/blk-mq-pci.c                                |   1 -
 block/blk-mq-rdma.c                               |  44 --
 block/blk-mq-sched.c                              | 143 +----
 block/blk-mq-sched.h                              |   7 -
 block/blk-mq-sysfs.c                              |   2 -
 block/blk-mq-tag.c                                |   2 -
 block/blk-mq-tag.h                                |  73 ---
 block/blk-mq-virtio.c                             |   1 -
 block/blk-mq.c                                    | 665 +++++++++-------------
 block/blk-mq.h                                    |  77 ++-
 block/blk-pm.c                                    |   2 -
 block/blk-rq-qos.h                                |   2 +-
 block/blk-stat.c                                  |  23 +-
 block/blk-sysfs.c                                 |  26 +-
 block/blk-throttle.c                              |  19 +-
 block/blk.h                                       |   6 -
 block/elevator.h                                  |   4 +-
 block/genhd.c                                     |   3 +
 block/kyber-iosched.c                             |   7 +-
 block/mq-deadline.c                               |  13 +-
 block/opal_proto.h                                |  10 +
 block/sed-opal.c                                  | 330 +++++++++--
 drivers/block/Kconfig                             |  17 +
 drivers/block/drbd/drbd_actlog.c                  |  13 +-
 drivers/block/drbd/drbd_bitmap.c                  |  13 +-
 drivers/block/drbd/drbd_int.h                     | 120 ++--
 drivers/block/drbd/drbd_main.c                    |  72 ++-
 drivers/block/drbd/drbd_nl.c                      |  19 +-
 drivers/block/drbd/drbd_receiver.c                | 102 ++--
 drivers/block/drbd/drbd_req.c                     |  30 +-
 drivers/block/drbd/drbd_req.h                     |  11 +-
 drivers/block/drbd/drbd_state.c                   |  29 +-
 drivers/block/drbd/drbd_worker.c                  | 114 ++--
 drivers/block/nbd.c                               |  15 +-
 drivers/block/null_blk/Kconfig                    |   2 +-
 drivers/block/null_blk/main.c                     | 135 +++--
 drivers/block/null_blk/null_blk.h                 |   7 +-
 drivers/block/ublk_drv.c                          | 133 +++--
 drivers/md/dm-table.c                             |  19 +-
 drivers/md/md-bitmap.c                            | 143 +++--
 drivers/md/md-linear.c                            |  14 +-
 drivers/md/md.c                                   |  27 +-
 drivers/md/md.h                                   |  10 +-
 drivers/md/raid0.c                                |  14 +-
 drivers/md/raid10.c                               | 102 ++--
 drivers/md/raid5.c                                |   5 +-
 drivers/nvme/host/apple.c                         |   8 +-
 drivers/nvme/host/core.c                          |   9 +-
 drivers/nvme/host/pci.c                           |   6 +-
 drivers/nvme/host/rdma.c                          |  19 +-
 drivers/nvme/host/tcp.c                           |   3 +
 drivers/nvme/host/trace.h                         |  15 +-
 drivers/nvme/target/admin-cmd.c                   |  81 ++-
 drivers/nvme/target/fcloop.c                      |  48 +-
 drivers/nvme/target/nvmet.h                       |  12 +-
 drivers/nvme/target/tcp.c                         |  34 +-
 drivers/nvme/target/zns.c                         |  20 +-
 drivers/s390/block/dasd.c                         |  75 ++-
 drivers/s390/block/dasd_devmap.c                  | 126 ++++
 drivers/s390/block/dasd_eckd.c                    |   1 +
 drivers/s390/block/dasd_eer.c                     |   1 +
 drivers/s390/block/dasd_int.h                     |  32 +-
 include/linux/blk-crypto.h                        |   4 +-
 include/linux/blk-mq-rdma.h                       |  11 -
 include/linux/blk-mq.h                            |   2 -
 include/linux/blk_types.h                         |  21 +-
 include/linux/blkdev.h                            |  12 -
 include/linux/fault-inject.h                      |  22 +
 include/linux/genl_magic_func.h                   |   2 +-
 include/linux/sed-opal.h                          |   2 +
 include/uapi/linux/sed-opal.h                     |  24 +
 include/uapi/linux/ublk_cmd.h                     |  43 ++
 io_uring/rw.c                                     |   2 +-
 lib/Kconfig.debug                                 |  14 +-
 lib/fault-inject.c                                | 191 +++++++
 97 files changed, 2255 insertions(+), 1768 deletions(-)
 delete mode 100644 block/blk-mq-rdma.c
 delete mode 100644 block/blk-mq-tag.h
 delete mode 100644 include/linux/blk-mq-rdma.h

Comments

Jens Axboe April 24, 2023, 2:13 p.m. UTC | #1
On 4/21/23 2:00?PM, Jens Axboe wrote:
> Hi Linus,
> 
> Here are the block updates for the 6.4 merge window. This pull request
> contains:

Forgot to mention that this will throw a trivial reject in
drivers/block/ublk_drv.c due to this commit:

commit 8c68ae3b22fa6fb2dbe83ef955ff10936503d28e
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed Apr 5 20:00:46 2023 -0600

    ublk: read any SQE values upfront

going into 6.3-rc late in the cycle. The resolution is straight forward,
I'm including it here just in case (though I can't imagine it causing
you much trouble).

commit 5a3c8eaf1f50321138a7c282332a034c2ef4cba3
Merge: 6ea31a32652e 55793ea54d77
Author: Jens Axboe <axboe@kernel.dk>
Date:   Mon Apr 24 08:09:29 2023 -0600

    Merge branch 'for-6.4/block' into test
    
    * for-6.4/block: (118 commits)
      nbd: fix incomplete validation of ioctl arg
      ublk: don't return 0 in case of any failure
      sed-opal: geometry feature reporting command
      null_blk: Always check queue mode setting from configfs
      block: ublk: switch to ioctl command encoding
      blk-mq: fix the blk_mq_add_to_requeue_list call in blk_kick_flush
      block, bfq: Fix division by zero error on zero wsum
      fault-inject: fix build error when FAULT_INJECTION_CONFIGFS=y and CONFIGFS_FS=m
      block: store bdev->bd_disk->fops->submit_bio state in bdev
      block: re-arrange the struct block_device fields for better layout
      md/raid5: remove unused working_disks variable
      md/raid10: don't call bio_start_io_acct twice for bio which experienced read error
      md/raid10: fix memleak of md thread
      md/raid10: fix memleak for 'conf->bio_split'
      md/raid10: fix leak of 'r10bio->remaining' for recovery
      md/raid10: don't BUG_ON() in raise_barrier()
      md: fix soft lockup in status_resync
      md: add error_handlers for raid0 and linear
      md: Use optimal I/O size for last bitmap page
      md: Fix types in sb writer
      ...
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

diff --cc drivers/block/ublk_drv.c
index 604c1a13c76e,253008b2091d..afbef182820b
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@@ -1261,10 -1254,22 +1259,23 @@@ static void ublk_handle_need_get_data(s
  	ublk_queue_cmd(ubq, req);
  }
  
+ static inline int ublk_check_cmd_op(u32 cmd_op)
+ {
+ 	u32 ioc_type = _IOC_TYPE(cmd_op);
+ 
+ 	if (IS_ENABLED(CONFIG_BLKDEV_UBLK_LEGACY_OPCODES) && ioc_type != 'u')
+ 		return -EOPNOTSUPP;
+ 
+ 	if (ioc_type != 'u' && ioc_type != 0)
+ 		return -EOPNOTSUPP;
+ 
+ 	return 0;
+ }
+ 
 -static int ublk_ch_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags)
 +static int __ublk_ch_uring_cmd(struct io_uring_cmd *cmd,
 +			       unsigned int issue_flags,
 +			       struct ublksrv_io_cmd *ub_cmd)
  {
 -	struct ublksrv_io_cmd *ub_cmd = (struct ublksrv_io_cmd *)cmd->cmd;
  	struct ublk_device *ub = cmd->file->private_data;
  	struct ublk_queue *ubq;
  	struct ublk_io *io;
pr-tracker-bot@kernel.org April 26, 2023, 8:09 p.m. UTC | #2
The pull request you sent on Fri, 21 Apr 2023 14:00:28 -0600:

> git://git.kernel.dk/linux.git tags/for-6.4/block-2023-04-21

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a

Thank you!