[GIT PULL] Block changes for 6.1-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Here are the block changes queued up for the 6.1 merge window. Due to
needing synchronization between the core block and driver changes in a
lot of the past releases, this release has both driver and core changes
in a single branch. There will not be a separate 'drivers' pull request
because of that. This is a bit of an experiment - it makes my life
easier and avoids conflicts that can be avoided, or creating topic
branches that exist purely because core block changes are needed for
subsequent driver changes.

Note that merging this will throw a trivial conflict in block/genhd.c
due to blk_throtl_cancel_bios() now taking a disk rather than a queue,
which conflicts with a late cycle revert in the 6.0 series. Apart from
that, it merges cleanly.

This pull request contains:

- NVMe pull requests via Christoph:
	- handle number of queue changes in the TCP and RDMA drivers
	  (Daniel Wagner)
	- allow changing the number of queues in nvmet (Daniel Wagner)
	- also consider host_iface when checking ip options
	  (Daniel Wagner)
	- don't map pages which can't come from HIGHMEM
	  (Fabio M. De Francesco)
	- avoid unnecessary flush bios in nvmet (Guixin Liu)
	- shrink and better pack the nvme_iod structure (Keith Busch)
	- add comment for unaligned "fake" nqn (Linjun Bao)
	- print actual source IP address through sysfs "address" attr
	  (Martin Belanger)
	- various cleanups (Jackie Liu, Wolfram Sang, Genjian Zhang)
	- handle effects after freeing the request (Keith Busch)
	- copy firmware_rev on each init (Keith Busch)
	- restrict management ioctls to admin (Keith Busch)
	- ensure subsystem reset is single threaded (Keith Busch)
	- report the actual number of tagset maps in nvme-pci (Keith Busch)
	- small fabrics authentication fixups (Christoph Hellwig)
	- add common code for tagset allocation and freeing
	  (Christoph Hellwig)
	- stop using the request_queue in nvmet (Christoph Hellwig)
	- set min_align_mask before calculating max_hw_sectors
	  (Rishabh Bhatnagar)
	- send a rediscover uevent when a persistent discovery controller
	  reconnects (Sagi Grimberg)
	- misc nvmet-tcp fixes (Varun Prakash, zhenwei pi)

- MD pull request via Song:
	- Various raid5 fix and clean up, by Logan Gunthorpe and
	  David Sloan.
	- Raid10 performance optimization, by Yu Kuai.

- sbitmap wakeup hang fixes (Hugh, Keith, Jan, Yu)

- IO scheduler switching quisce fix (Keith)

- s390/dasd block driver updates (Stefan)

- Support for recovery for the ublk driver (ZiyangZhang)

- rnbd drivers fixes and updates (Guoqing, Santosh, ye, Christoph)

- blk-mq and null_blk map fixes (Bart)

- Various bcache fixes (Coly, Jilin, Jules)

- nbd signal hang fix (Shigeru)

- block writeback throttling fix (Yu)

- Optimize the passthrough mapping handling (me)

- Series preparing block cgroups to being gendisk based (Christoph)

- Get rid of an old PSI hack in the block layer, moving it to the
  callers instead where it belongs (Christoph)

- Series of blk-throttle fixes and cleanups (Yu)

- Misc fixes and cleanups (Liu Shixin, Liu Song, Miaohe, Pankaj,
  Ping-Xiang, Wolfram, Saurabh, Li Jinlin, Li Lei, Lin, Li zeming,
  Miaohe, Bart, Coly, Gaosheng

Please pull!


The following changes since commit 1c23f9e627a7b412978b4e852793c5e3c3efc555:

  Linux 6.0-rc2 (2022-08-21 17:32:54 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.1/block-2022-10-03

for you to fetch changes up to 30514bd2dd4e86a3ecfd6a93a3eadf7b9ea164a0:

  sbitmap: fix lockup while swapping (2022-09-29 17:58:17 -0600)

----------------------------------------------------------------
for-6.1/block-2022-10-03

----------------------------------------------------------------
Bart Van Assche (3):
      null_blk: Modify the behavior of null_map_queues()
      block: Change the return type of blk_mq_map_queues() into void
      block: Fix the enum blk_eh_timer_return documentation

Christoph Hellwig (48):
      mm: add PSI accounting around ->read_folio and ->readahead calls
      sched/psi: export psi_memstall_{enter,leave}
      btrfs: add manual PSI accounting for compressed reads
      erofs: add manual PSI accounting for the compressed address space
      block: remove PSI accounting from the bio layer
      rnbd-srv: simplify rnbd_srv_fill_msg_open_rsp
      rnbd-srv: remove rnbd_endio
      rnbd-srv: remove rnbd_dev_{open,close}
      rnbd-srv: remove struct rnbd_dev
      blk-cgroup: fix error unwinding in blkcg_init_queue
      blk-cgroup: remove blk_queue_root_blkg
      blk-cgroup: remove open coded blkg_lookup instances
      blk-cgroup: cleanup the blkg_lookup family of functions
      blk-cgroup: remove blkg_lookup_check
      blk-cgroup: pass a gendisk to blkcg_init_queue and blkcg_exit_queue
      blk-ioprio: pass a gendisk to blk_ioprio_init and blk_ioprio_exit
      blk-iolatency: pass a gendisk to blk_iolatency_init
      blk-iocost: simplify ioc_name
      blk-iocost: pass a gendisk to blk_iocost_init
      blk-iocost: cleanup ioc_qos_write
      blk-throttle: pass a gendisk to blk_throtl_init and blk_throtl_exit
      blk-throttle: pass a gendisk to blk_throtl_register_queue
      blk-throttle: pass a gendisk to blk_throtl_cancel_bios
      blk-cgroup: pass a gendisk to blkg_destroy_all
      blk-cgroup: pass a gendisk to blkcg_schedule_throttle
      blk-cgroup: pass a gendisk to the blkg allocation helpers
      nvmet-auth: don't try to cancel a non-initialized work_struct
      nvme: improve the NVME_CONNECT_AUTHREQ* definitions
      nvmet: add helpers to set the result field for connect commands
      nvme-auth: add a MAINTAINERS entry
      nvme: add common helpers to allocate and free tagsets
      nvme-tcp: remove the unused queue_size member in nvme_tcp_queue
      nvme-tcp: store the generic nvme_ctrl in set->driver_data
      nvme-tcp: use the tagset alloc/free helpers
      nvme-rdma: store the generic nvme_ctrl in set->driver_data
      nvme-rdma: use the tagset alloc/free helpers
      nvme-fc: keep ctrl->sqsize in sync with opts->queue_size
      nvme-fc: store the generic nvme_ctrl in set->driver_data
      nvme-fc: use the tagset alloc/free helpers
      nvme-loop: initialize sqsize later
      nvme-loop: store the generic nvme_ctrl in set->driver_data
      nvme-loop: use the tagset alloc/free helpers
      nvme: remove nvme_ctrl_init_connect_q
      block: replace blk_queue_nowait with bdev_nowait
      nvmet: don't look at the request_queue in nvmet_bdev_zone_mgmt_emulate_all
      nvmet: don't look at the request_queue in nvmet_bdev_set_limits
      blk-cgroup: don't update the blkg lookup hint in blkg_conf_prep
      s390/dasd: use blk_mq_alloc_disk

Coly Li (1):
      bcache: fix set_at_max_writeback_rate() for multiple attached devices

Daniel Wagner (4):
      nvmet: expose max queues to configfs
      nvme-tcp: handle number of queue changes
      nvme-rdma: handle number of queue changes
      nvme: consider also host_iface when checking ip options

David Sloan (1):
      md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk()

Fabio M. De Francesco (1):
      nvmet-tcp: don't map pages which can't come from HIGHMEM

Gaosheng Cui (3):
      block/drbd: remove unused w_start_resync declaration
      drbd: remove orphan _req_may_be_done() declaration
      block/drbd: remove useless comments in receive_DataReply()

Genjian Zhang (1):
      nvmet-auth: remove redundant parameters req

Guixin Liu (1):
      nvmet: avoid unnecessary flush bio

Guoqing Jiang (4):
      rnbd-srv: add comment in rnbd_srv_rdma_ev
      rnbd-srv: make process_msg_close returns void
      rnbd-srv: remove redundant setting of blk_open_flags
      md/raid10: fix compile warning

Hugh Dickins (1):
      sbitmap: fix lockup while swapping

Jackie Liu (2):
      nvme-auth: remove the redundant req->cqe->result.u16 assignment operation
      nvmet-auth: clean up with done_kfree

Jan Kara (1):
      sbitmap: Avoid leaving waitqueue in invalid state in __sbq_wake_up()

Jens Axboe (8):
      block: shrink rq_map_data a bit
      block: enable bio caching use for passthru IO
      block: use on-stack page vec for <= UIO_FASTIOV
      block: enable per-cpu bio caching for the fs bio set
      Revert "sbitmap: fix batched wait_cnt accounting"
      Merge tag 'nvme-6.1-2022-09-20' of git://git.infradead.org/nvme into for-6.1/block
      Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.1/block
      Merge tag 'nvme-6.1-2022-09-28' of git://git.infradead.org/nvme into for-6.1/block

Jiapeng Chong (1):
      block/blk-map: Remove set but unused variable 'added'

Jilin Yuan (1):
      bcache:: fix repeated words in comments

Jules Maselbas (1):
      bcache: bset: Fix comment typos

Keith Busch (12):
      sbitmap: fix batched wait_cnt accounting
      sbitmap: fix batched wait_cnt accounting
      nvme-pci: remove nvme_queue from nvme_iod
      nvme-pci: iod's 'aborted' is a bool
      nvme-pci: iod npages fits in s8
      nvme-pci: move iod dma_len fill gaps
      nvme: handle effects after freeing the request
      nvme: copy firmware_rev on each init
      nvme: restrict management ioctls to admin
      nvme: ensure subsystem reset is single threaded
      nvme-pci: report the actual number of tagset maps
      blk-mq: use quiesced elevator switch when reinitializing queues

Li Jinlin (1):
      block/blk-rq-qos: delete useless enmu RQ_QOS_IOPRIO

Li Lei (1):
      bcache: remove unnecessary flush_workqueue

Li zeming (1):
      blk-iocost: Remove unnecessary (void*) conversions

Lin Feng (1):
      bcache: remove unused bch_mark_cache_readahead function def in stats.h

Linjun Bao (1):
      nvme: add comment for unaligned "fake" nqn

Liu Shixin (1):
      block: aoe: use DEFINE_SHOW_ATTRIBUTE to simplify aoe_debugfs

Liu Song (2):
      sbitmap: remove unnecessary code in __sbitmap_queue_get_batch
      blk-mq: don't redirect completion for hctx withs only one ctx mapping

Logan Gunthorpe (7):
      md/raid5: Refactor raid5_get_active_stripe()
      md/raid5: Drop extern on function declarations in raid5.h
      md/raid5: Cleanup prototype of raid5_get_active_stripe()
      md/raid5: Don't read ->active_stripes if it's not needed
      md/raid5: Ensure stripe_fill happens on non-read IO with journal
      md: Remove extra mddev_get() in md_seq_start()
      md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d

Martin Belanger (1):
      nvme-tcp: print actual source IP address through sysfs "address" attr

Miaohe Lin (2):
      blk-mq: remove unneeded needs_restart check
      block: remove unneeded return value of bio_check_ro()

Pankaj Raghav (2):
      block: adapt blk_mq_plug() to not plug for writes that require a zone lock
      block: add rationale for not using blk_mq_plug() when applicable

Ping-Xiang Chen (1):
      block: fix comment typo in submit_bio of block-core.c.

Rishabh Bhatnagar (1):
      nvme-pci: set min_align_mask before calculating max_hw_sectors

Sagi Grimberg (2):
      nvme: enumerate controller flags
      nvme: send a rediscover uevent when a persistent discovery controller reconnects

Santosh Pradhan (1):
      block/rnbd-srv: Add event tracing support

Saurabh Sengar (1):
      md: Replace snprintf with scnprintf

Shigeru Yoshida (1):
      nbd: Fix hung when signal interrupts nbd_start_device_ioctl()

Song Liu (1):
      Merge branch 'md-next-raid10-optimize' into md-next

Stefan Haberland (7):
      s390/dasd: put block allocation in separate function
      s390/dasd: add query PPRC function
      s390/dasd: add copy pair setup
      s390/dasd: add copy pair swap capability
      s390/dasd: add ioctl to perform a swap of the drivers copy pair
      s390/dasd: suppress generic error messages for PPRC secondary devices
      s390/dasd: add device ping attribute

Uros Bizjak (1):
      sbitmap: Use atomic_long_try_cmpxchg in __sbitmap_queue_get_batch

Varun Prakash (2):
      nvmet-tcp: handle ICReq PDU received in NVMET_TCP_Q_LIVE state
      nvmet-tcp: add bounds check on Transfer Tag

Wolfram Sang (2):
      nvme: move from strlcpy with unused retval to strscpy
      block: move from strlcpy with unused retval to strscpy

XU pengfei (1):
      md/raid5: Fix spelling mistakes in comments

Yu Kuai (20):
      block, bfq: remove unused functions
      block, bfq: remove useless checking in bfq_put_queue()
      block, bfq: remove useless parameter for bfq_add/del_bfqq_busy()
      sbitmap: fix possible io hung due to lost wakeup
      blk-throttle: clean up codes that can't be reached
      blk-throttle: fix that io throttle can only work for single bio
      blk-throttle: prevent overflow while calculating wait time
      blk-throttle: factor out code to calculate ios/bytes_allowed
      blk-throttle: fix io hung due to configuration updates
      blk-throttle: use 'READ/WRITE' instead of '0/1'
      blk-throttle: calling throtl_dequeue/enqueue_tg in pairs
      blk-throttle: cleanup tg_update_disptime()
      blk-wbt: call rq_qos_add() after wb_normal is initialized
      md/raid10: factor out code from wait_barrier() to stop_waiting_barrier()
      md/raid10: don't modify 'nr_waitng' in wait_barrier() for the case nowait
      md/raid10: prevent unnecessary calls to wake_up() in fast path
      md/raid10: fix improper BUG_ON() in raise_barrier()
      md/raid10: convert resync_lock to use seqlock
      blk-throttle: remove THROTL_TG_HAS_IOPS_LIMIT
      blk-throttle: improve bypassing bios checkings

Zhou nan (1):
      md: Fix spelling mistake in comments of r5l_log

ZiyangZhang (6):
      ublk_drv: check 'current' instead of 'ubq_daemon'
      ublk_drv: define macros for recovery feature and check them
      ublk_drv: requeue rqs with recovery feature enabled
      ublk_drv: consider recovery feature in aborting mechanism
      ublk_drv: support UBLK_F_USER_RECOVERY_REISSUE
      ublk_drv: add START_USER_RECOVERY and END_USER_RECOVERY support

dougmill@xxxxxxxxxxxxxxxxxx (1):
      block: sed-opal: Add ioctl to return device status

ye xingchen (1):
      block/rnbd-clt: Remove the unneeded result variable

zhenwei pi (2):
      nvmet-tcp: fix NULL pointer dereference during release
      nvmet-tcp: remove nvmet_tcp_finish_cmd

 MAINTAINERS                               |   9 +
 arch/s390/include/asm/scsw.h              |   5 +
 arch/s390/include/uapi/asm/dasd.h         |  14 +
 block/bfq-cgroup.c                        |   5 -
 block/bfq-iosched.c                       |  14 +-
 block/bfq-iosched.h                       |  18 +-
 block/bfq-wf2q.c                          |   9 +-
 block/bio.c                               |  13 +-
 block/blk-cgroup.c                        | 183 ++++-----
 block/blk-cgroup.h                        |  68 +---
 block/blk-core.c                          |  37 +-
 block/blk-iocost.c                        |  39 +-
 block/blk-iolatency.c                     |   5 +-
 block/blk-ioprio.c                        |   8 +-
 block/blk-ioprio.h                        |   8 +-
 block/blk-map.c                           |  52 ++-
 block/blk-mq-cpumap.c                     |   4 +-
 block/blk-mq-debugfs.c                    |   2 -
 block/blk-mq-pci.c                        |   7 +-
 block/blk-mq-rdma.c                       |   6 +-
 block/blk-mq-tag.c                        |   2 +-
 block/blk-mq-virtio.c                     |   7 +-
 block/blk-mq.c                            |  32 +-
 block/blk-mq.h                            |   3 +-
 block/blk-rq-qos.h                        |   1 -
 block/blk-sysfs.c                         |   2 +-
 block/blk-throttle.c                      | 280 ++++++++------
 block/blk-throttle.h                      |  53 ++-
 block/blk-wbt.c                           |   9 +-
 block/blk-zoned.c                         |   9 +-
 block/blk.h                               |   7 +-
 block/elevator.c                          |   4 +-
 block/genhd.c                             |   7 +-
 block/opal_proto.h                        |   5 +
 block/sed-opal.c                          |  89 ++++-
 drivers/block/aoe/aoeblk.c                |  15 +-
 drivers/block/brd.c                       |   2 +-
 drivers/block/drbd/drbd_int.h             |   1 -
 drivers/block/drbd/drbd_nl.c              |   2 +-
 drivers/block/drbd/drbd_receiver.c        |   3 -
 drivers/block/drbd/drbd_req.h             |   2 -
 drivers/block/mtip32xx/mtip32xx.c         |  12 +-
 drivers/block/nbd.c                       |   6 +-
 drivers/block/null_blk/main.c             |   8 +-
 drivers/block/ps3vram.c                   |   2 +-
 drivers/block/rnbd/Makefile               |   6 +-
 drivers/block/rnbd/rnbd-clt.c             |   8 +-
 drivers/block/rnbd/rnbd-srv-dev.c         |  43 ---
 drivers/block/rnbd/rnbd-srv-dev.h         |  64 ----
 drivers/block/rnbd/rnbd-srv-trace.c       |  17 +
 drivers/block/rnbd/rnbd-srv-trace.h       | 207 ++++++++++
 drivers/block/rnbd/rnbd-srv.c             | 123 +++---
 drivers/block/rnbd/rnbd-srv.h             |   2 +-
 drivers/block/ublk_drv.c                  | 302 ++++++++++++++-
 drivers/block/virtio_blk.c                |   4 +-
 drivers/block/zram/zram_drv.c             |   6 +-
 drivers/md/bcache/bcache.h                |   2 +-
 drivers/md/bcache/bset.c                  |   2 +-
 drivers/md/bcache/stats.h                 |   1 -
 drivers/md/bcache/writeback.c             |  78 ++--
 drivers/md/dm-table.c                     |   4 +-
 drivers/md/md.c                           |   5 +-
 drivers/md/raid0.c                        |   2 +-
 drivers/md/raid10.c                       | 151 +++++---
 drivers/md/raid10.h                       |   2 +-
 drivers/md/raid5-cache.c                  |  11 +-
 drivers/md/raid5.c                        | 147 ++++----
 drivers/md/raid5.h                        |  32 +-
 drivers/nvme/host/core.c                  | 140 ++++++-
 drivers/nvme/host/fabrics.c               |  25 +-
 drivers/nvme/host/fc.c                    | 124 ++----
 drivers/nvme/host/ioctl.c                 |  15 +-
 drivers/nvme/host/nvme.h                  |  44 ++-
 drivers/nvme/host/pci.c                   |  78 ++--
 drivers/nvme/host/rdma.c                  | 171 +++------
 drivers/nvme/host/tcp.c                   | 169 ++++-----
 drivers/nvme/target/admin-cmd.c           |   2 +-
 drivers/nvme/target/configfs.c            |  29 ++
 drivers/nvme/target/core.c                |   1 +
 drivers/nvme/target/discovery.c           |   2 +-
 drivers/nvme/target/fabrics-cmd-auth.c    |  23 +-
 drivers/nvme/target/fabrics-cmd.c         |  19 +-
 drivers/nvme/target/io-cmd-bdev.c         |  19 +-
 drivers/nvme/target/loop.c                |  91 ++---
 drivers/nvme/target/nvmet.h               |   7 +-
 drivers/nvme/target/passthru.c            |   7 +-
 drivers/nvme/target/tcp.c                 |  91 ++---
 drivers/nvme/target/zns.c                 |   3 +-
 drivers/s390/block/dasd.c                 |  86 +----
 drivers/s390/block/dasd_3990_erp.c        |   5 +
 drivers/s390/block/dasd_devmap.c          | 609 +++++++++++++++++++++++++++++-
 drivers/s390/block/dasd_diag.c            |   2 +-
 drivers/s390/block/dasd_eckd.c            | 294 +++++++++++++--
 drivers/s390/block/dasd_eckd.h            |   9 +-
 drivers/s390/block/dasd_fba.c             |   2 +-
 drivers/s390/block/dasd_genhd.c           |  29 +-
 drivers/s390/block/dasd_int.h             |  75 +++-
 drivers/s390/block/dasd_ioctl.c           |  53 +++
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c    |   5 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c    |   5 +-
 drivers/scsi/megaraid/megaraid_sas_base.c |   6 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c           |   5 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c      |   5 +-
 drivers/scsi/pm8001/pm8001_init.c         |   2 +-
 drivers/scsi/qla2xxx/qla_nvme.c           |   6 +-
 drivers/scsi/qla2xxx/qla_os.c             |  10 +-
 drivers/scsi/scsi_debug.c                 |   7 +-
 drivers/scsi/scsi_lib.c                   |   4 +-
 drivers/scsi/smartpqi/smartpqi_init.c     |   6 +-
 drivers/scsi/virtio_scsi.c                |   4 +-
 drivers/ufs/core/ufshcd.c                 |   9 +-
 fs/btrfs/compression.c                    |  14 +-
 fs/direct-io.c                            |   2 -
 fs/erofs/zdata.c                          |  13 +-
 include/linux/bio.h                       |   2 +-
 include/linux/blk-cgroup.h                |   5 +-
 include/linux/blk-mq-pci.h                |   4 +-
 include/linux/blk-mq-rdma.h               |   2 +-
 include/linux/blk-mq-virtio.h             |   2 +-
 include/linux/blk-mq.h                    |  23 +-
 include/linux/blk_types.h                 |   3 +-
 include/linux/blkdev.h                    |  15 +-
 include/linux/nvme.h                      |   4 +-
 include/linux/pagemap.h                   |   2 +
 include/linux/sbitmap.h                   |   3 +-
 include/linux/sed-opal.h                  |   1 +
 include/scsi/scsi_host.h                  |   2 +-
 include/uapi/linux/sed-opal.h             |  13 +
 include/uapi/linux/ublk_cmd.h             |   8 +-
 io_uring/io_uring.c                       |   2 +-
 kernel/sched/psi.c                        |   2 +
 lib/sbitmap.c                             | 109 ++++--
 mm/filemap.c                              |   7 +
 mm/readahead.c                            |  22 +-
 mm/swapfile.c                             |   2 +-
 135 files changed, 3204 insertions(+), 1644 deletions(-)
 delete mode 100644 drivers/block/rnbd/rnbd-srv-dev.c
 delete mode 100644 drivers/block/rnbd/rnbd-srv-dev.h
 create mode 100644 drivers/block/rnbd/rnbd-srv-trace.c
 create mode 100644 drivers/block/rnbd/rnbd-srv-trace.h

-- 
Jens Axboe



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux