mbox series

[GIT,PULL] Block updates for 5.10-rc1

Message ID deaa5b65-55f6-7ca5-e96c-9ea704c0eaee@kernel.dk (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Block updates for 5.10-rc1 | expand

Pull-request

git://git.kernel.dk/linux-block.git tags/block-5.10-2020-10-12

Message

Jens Axboe Oct. 12, 2020, 1:40 p.m. UTC
Hi Linus,

Here's the 5.10 merge window block pull request:

- Series of merge handling cleanups (Baolin, Christoph)

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

- Series cleaning up BDI, seperating the block device from the
  backing_dev_info (Christoph)

- Removal of bdget() as a generic API (Christoph)

- Removal of blkdev_get() as a generic API (Christoph)

- Cleanup of is-partition checks (Christoph)

- Series reworking disk revalidation (Christoph)

- Series cleaning up bio flags (Christoph)

- bio crypt fixes (Eric)

- IO stats inflight tweak (Gabriel)

- blk-mq tags fixes (Hannes)

- Buffer invalidation fixes (Jan)

- Allow soft limits for zone append (Johannes)

- Shared tag set improvements (John, Kashyap)

- Allow IOPRIO_CLASS_RT for CAP_SYS_NICE (Khazhismel)

- DM no-wait support (Mike, Konstantin)

- Request allocation improvements (Ming)

- Allow md/dm/bcache to use IO stat helpers (Song)

- Series improving blk-iocost (Tejun)

- Various cleanups (Geert, Damien, Danny, Julia, Tetsuo, Tian, Wang,
  Xianting, Yang, Yufen, yangerkun)

Please pull!


The following changes since commit e11d80a849e010f78243bb6f6af7dccef3a71a90:

  blk-stat: make q->stats->lock irqsafe (2020-09-01 16:48:46 -0600)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/block-5.10-2020-10-12

for you to fetch changes up to 8858e8d98d5457ba23bcd0d99ce23e272b8b09a1:

  block: fix uapi blkzoned.h comments (2020-10-09 12:47:02 -0600)

----------------------------------------------------------------
block-5.10-2020-10-12

----------------------------------------------------------------
Baolin Wang (20):
      block: Move bio merge related functions into blk-merge.c
      block: Move blk_mq_bio_list_merge() into blk-merge.c
      block: Add a new helper to attempt to merge a bio
      block: Remove blk_mq_attempt_merge() function
      block: Remove a duplicative condition
      block: Remove unused blk_mq_sched_free_hctx_data()
      blk-throttle: Fix some comments' typos
      blk-throttle: Use readable READ/WRITE macros
      blk-throttle: Define readable macros instead of static variables
      blk-throttle: Avoid calculating bps/iops limitation repeatedly
      blk-throttle: Avoid checking bps/iops limitation if bps or iops is unlimited
      block: Remove redundant 'return' statement
      blk-throttle: Remove a meaningless parameter for throtl_downgrade_state()
      blk-throttle: Avoid getting the current time if tg->last_finish_time is 0
      blk-throttle: Avoid tracking latency if low limit is invalid
      blk-throttle: Fix IO hang for a corner case
      blk-throttle: Move the list operation after list validation
      blk-throttle: Move service tree validation out of the throtl_rb_first()
      blk-throttle: Open code __throtl_de/enqueue_tg()
      blk-throttle: Re-use the throtl_set_slice_end()

Christoph Hellwig (87):
      block: replace bd_set_size with bd_set_nr_sectors
      block: fix locking for struct block_device size updates
      nvme: don't call revalidate_disk from nvme_set_queue_dying
      block: remove the BIO_NULL_MAPPED flag
      block: remove __blk_rq_unmap_user
      block: remove __blk_rq_map_user_iov
      block: remove the BIO_USER_MAPPED flag
      raw: deprecate the raw driver
      block: remove the alignment_offset field from struct hd_struct
      block: remove the discard_alignment field from struct hd_struct
      block: remove an outdated comment on the bd_dev field
      block: move the devcgroup_inode_permission call to blkdev_get
      block: cleanup __alloc_disk_node
      block: remove the disk argument to delete_partition
      block: remove the unused q argument to part_in_flight and part_in_flight_rw
      Documentation/filesystems/locking.rst: remove an incorrect sentence
      block: don't clear bd_invalidated in check_disk_size_change
      block: rename bd_invalidated
      block: add a new revalidate_disk_size helper
      block: use revalidate_disk_size in set_capacity_revalidate_and_notify
      nvme: opencode revalidate_disk in nvme_validate_ns
      sd: open code revalidate_disk
      nvdimm: simplify revalidate_disk handling
      block: remove revalidate_disk()
      block: add helper macros for queue sysfs entries
      block: make QUEUE_SYSFS_BIT_FNS more useful
      block: add a bdev_check_media_change helper
      amiflop: use bdev_check_media_change
      ataflop: use bdev_check_media_change
      floppy: use bdev_check_media_change
      swim: use bdev_check_media_change
      swim: simplify media change handling
      swim3: use bdev_check_media_changed
      xsysace: use bdev_check_media_change
      xsysace: simplify media change handling
      paride/pcd: use bdev_check_media_change
      gdrom: use bdev_check_media_change
      ide-cd: use bdev_check_media_changed
      ide-cd: remove idecd_revalidate_disk
      ide-gd: stop using the disk events mechanism
      md: use bdev_check_media_change
      sd: use bdev_check_media_change
      sr: use bdev_check_media_change
      sr: simplify sr_block_revalidate_disk
      block: remove check_disk_change
      block: fix bmd->is_null_mapped initialization
      block: move the NEED_PART_SCAN flag to struct gendisk
      block: cleanup partition scanning in register_disk
      block: cleanup blkdev_bszset
      pktcdvd: remove the if 0'ed pkt_start_recovery function
      pktcdvd: use blkdev_get_by_dev instead of open coding it
      zram: cleanup backing_dev_store
      raw: don't keep unopened block device around
      dasd: cleanup dasd_scan_partitions
      ocfs2: cleanup o2hb_region_dev_store
      mm: cleanup claim_swapfile
      PM: rewrite is_hibernate_resume_dev to not require an inode
      mm: split swap_type_of
      PM: mm: cleanup swsusp_swap_check
      block: mark blkdev_get static
      fs: remove the unused SB_I_MULTIROOT flag
      drbd: remove dead code in device_to_statistics
      bcache: inherit the optimal I/O size
      aoe: set an optimal I/O size
      bdi: initialize ->ra_pages and ->io_pages in bdi_init
      md: update the optimal I/O size on reshape
      block: lift setting the readahead size into the block layer
      bdi: remove BDI_CAP_CGROUP_WRITEBACK
      bdi: remove BDI_CAP_SYNCHRONOUS_IO
      mm: use SWP_SYNCHRONOUS_IO more intelligently
      bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag
      bdi: invert BDI_CAP_NO_ACCT_WB
      bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag
      Documentation/hdio: fix up obscure bd_contains references
      block: add a bdev_is_partition helper
      md: compare bd_disk instead of bd_contains
      md: don't detour through bd_contains for the gendisk
      drbd: don't detour through bd_contains for the gendisk
      drbd: don't set ->bd_contains
      target/iblock: fix holder printing in iblock_show_configfs_dev_params
      block: use bd_partno in bdevname
      vsprintf: use bd_partno in bdev_name
      drbd: remove ->this_bdev
      block: add a bdget_part helper
      block: remove the unused blk_integrity_merge_rq export
      block: remove the unused blk_integrity_merge_bio export
      block: move blk_mq_sched_try_merge to blk-merge.c

Damien Le Moal (1):
      block: fix uapi blkzoned.h comments

Danny Lin (1):
      blk-wbt: Remove obsolete multiqueue I/O scheduling comment

Eric Biggers (3):
      block: make bio_crypt_clone() able to fail
      block: make blk_crypto_rq_bio_prep() able to fail
      block: warn if !__GFP_DIRECT_RECLAIM in bio_crypt_set_ctx()

Gabriel Krisman Bertazi (1):
      block: Consider only dispatched requests for inflight statistic

Geert Uytterhoeven (1):
      block: Make request_queue.rpm_status an enum

Hannes Reinecke (2):
      blk-mq: Rename blk_mq_update_tag_set_depth()
      blk-mq: Free tags in blk_mq_init_tags() upon error

Jan Kara (2):
      fs: Don't invalidate page buffers in block_write_full_page()
      block: Do not discard buffers under a mounted filesystem

Jens Axboe (1):
      Merge branch 'block-5.9' into for-5.10/block

Johannes Thumshirn (1):
      block: soft limit zone-append sectors as well

John Garry (6):
      blk-mq: Pass flags for tag init/free
      blk-mq: Use pointers for blk_mq_tags bitmap tags
      blk-mq: Facilitate a shared sbitmap per tagset
      blk-mq: Relocate hctx_may_queue()
      blk-mq: Record nr_active_requests per queue for when using shared sbitmap
      blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared sbitmap

Julia Lawall (1):
      block: drop double zeroing

Kashyap Desai (1):
      blk-mq, elevator: Count requests per hctx to improve performance

Khazhismel Kumykov (1):
      block: grant IOPRIO_CLASS_RT to CAP_SYS_NICE

Konstantin Khlebnikov (1):
      dm: add support for REQ_NOWAIT and enable it for linear target

Mike Snitzer (3):
      block: use lcm_not_zero() when stacking chunk_sectors
      block: allow 'chunk_sectors' to be non-power-of-2
      block: add QUEUE_FLAG_NOWAIT

Ming Lei (5):
      blk-mq: Rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED
      blk-mq: always allow reserved allocation in hctx_may_queue
      percpu_ref: reduce memory footprint of percpu_ref in fast path
      block: move 'q_usage_counter' into front of 'request_queue'
      percpu_ref: don't refer to ref->data if it isn't allocated

Ritika Srivastava (2):
      block: Return blk_status_t instead of errno codes
      block: better deal with the delayed not supported case in blk_cloned_rq_check_limits

Song Liu (3):
      block: introduce part_[begin|end]_io_acct
      md: use part_[begin|end]_io_acct instead of disk_[begin|end]_io_acct
      bcache: use part_[begin|end]_io_acct instead of disk_[begin|end]_io_acct

Tejun Heo (33):
      blk-iocost: use local[64]_t for percpu stat
      blk-iocost: rename propagate_active_weights() to propagate_weights()
      blk-iocost: clamp inuse and skip noops in __propagate_weights()
      blk-iocost: move iocg_kick_delay() above iocg_kick_waitq()
      blk-iocost: make iocg_kick_waitq() call iocg_kick_delay() after paying debt
      blk-iocost: s/HWEIGHT_WHOLE/WEIGHT_ONE/g
      blk-iocost: use WEIGHT_ONE based fixed point number for weights
      blk-iocost: make ioc_now->now and ioc->period_at 64bit
      blk-iocost: streamline vtime margin and timer slack handling
      blk-iocost: grab ioc->lock for debt handling
      blk-iocost: add absolute usage stat
      blk-iocost: calculate iocg->usages[] from iocg->local_stat.usage_us
      blk-iocost: replace iocg->has_surplus with ->surplus_list
      blk-iocost: decouple vrate adjustment from surplus transfers
      blk-iocost: restructure surplus donation logic
      blk-iocost: implement Andy's method for donation weight updates
      blk-iocost: revamp donation amount determination
      blk-iocost: revamp in-period donation snapbacks
      blk-iocost: revamp debt handling
      blk-iocost: implement delay adjustment hysteresis
      blk-iocost: halve debts if device stays idle
      blk-iocost: implement vtime loss compensation
      blk-iocost: restore inuse update tracepoints
      blk-iocost: add three debug stat - cost.wait, indebt and indelay
      blk-iocost: update iocost_monitor.py
      blk-iocost: fix divide-by-zero in transfer_surpluses()
      iocost: fix infinite loop bug in adjust_inuse_and_calc_cost()
      iocost: factor out ioc_forgive_debts()
      iocost: replace nr_shortages cond in ioc_forgive_debts() with busy_level one
      iocost: recalculate delay after debt reduction
      iocost: reimplement debt forgiveness using average usage
      iocost: add iocg_forgive_debt tracepoint
      iocost: consider iocgs with active delays for debt forgiveness

Tetsuo Handa (1):
      block: ratelimit handle_bad_sector() message

Tian Tao (2):
      virtio-blk: Use kobj_to_dev() instead of container_of()
      block: remove duplicate include statement in scsi_ioctl.c

Wang Hai (1):
      blktrace: make function blk_trace_bio_get_cgid() static

Xianting Tian (3):
      blk-mq: use BLK_MQ_NO_TAG for no tag
      blkcg: add plugging support for punt bio
      blk-mq: add cond_resched() in __blk_mq_alloc_rq_maps()

Yang Yang (1):
      blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue

Yufen Yu (7):
      block: invoke blk_mq_exit_sched no matter whether have .exit_sched
      block: remove redundant mq check
      block: use helper function to test queue register
      blk-mq: use helper function to test hw stopped
      block: fix comment and add lockdep assert
      block: get rid of unnecessary local variable
      blk-mq: get rid of the dead flush handle code path

yangerkun (1):
      block-mq: fix comments in blk_mq_queue_tag_busy_iter

 Documentation/filesystems/locking.rst      |    3 -
 Documentation/userspace-api/ioctl/hdio.rst |   24 +-
 block/Kconfig                              |    2 -
 block/bfq-iosched.c                        |    9 +-
 block/bio.c                                |   20 +-
 block/blk-cgroup.c                         |   32 +-
 block/blk-core.c                           |  260 ++-----
 block/blk-crypto-internal.h                |   21 +-
 block/blk-crypto.c                         |   33 +-
 block/blk-integrity.c                      |    6 +-
 block/blk-iocost.c                         | 1623 +++++++++++++++++++++++++++++++++----------
 block/blk-iolatency.c                      |    2 +-
 block/blk-lib.c                            |    2 +-
 block/blk-map.c                            |  177 ++---
 block/blk-merge.c                          |  245 ++++++-
 block/blk-mq-debugfs.c                     |   11 +-
 block/blk-mq-sched.c                       |  156 +----
 block/blk-mq-sched.h                       |    3 -
 block/blk-mq-sysfs.c                       |    2 -
 block/blk-mq-tag.c                         |  156 +++--
 block/blk-mq-tag.h                         |   56 +-
 block/blk-mq.c                             |  101 ++-
 block/blk-mq.h                             |   76 +-
 block/blk-settings.c                       |   40 +-
 block/blk-sysfs.c                          |  291 ++------
 block/blk-throttle.c                       |  128 ++--
 block/blk.h                                |   29 +-
 block/bounce.c                             |   19 +-
 block/bsg-lib.c                            |    2 +-
 block/elevator.c                           |   23 +-
 block/genhd.c                              |  160 +++--
 block/ioctl.c                              |   33 +-
 block/ioprio.c                             |    2 +-
 block/kyber-iosched.c                      |    6 +-
 block/mq-deadline.c                        |    6 +
 block/partitions/core.c                    |   29 +-
 block/scsi_ioctl.c                         |    4 +-
 drivers/block/amiflop.c                    |    2 +-
 drivers/block/aoe/aoeblk.c                 |    3 +-
 drivers/block/aoe/aoecmd.c                 |    4 +-
 drivers/block/ataflop.c                    |    7 +-
 drivers/block/brd.c                        |    1 -
 drivers/block/drbd/drbd_actlog.c           |    2 +-
 drivers/block/drbd/drbd_int.h              |    1 -
 drivers/block/drbd/drbd_main.c             |   31 +-
 drivers/block/drbd/drbd_nl.c               |   26 +-
 drivers/block/drbd/drbd_receiver.c         |   12 +-
 drivers/block/drbd/drbd_req.c              |    2 +-
 drivers/block/drbd/drbd_worker.c           |    6 +-
 drivers/block/floppy.c                     |    8 +-
 drivers/block/loop.c                       |    4 +-
 drivers/block/nbd.c                        |   15 +-
 drivers/block/paride/pcd.c                 |    2 +-
 drivers/block/pktcdvd.c                    |   94 +--
 drivers/block/rbd.c                        |    4 +-
 drivers/block/rnbd/rnbd-clt.c              |   12 +-
 drivers/block/swim.c                       |   22 +-
 drivers/block/swim3.c                      |    4 +-
 drivers/block/virtio_blk.c                 |    4 +-
 drivers/block/xsysace.c                    |   26 +-
 drivers/block/zram/zram_drv.c              |   30 +-
 drivers/cdrom/gdrom.c                      |    2 +-
 drivers/char/raw.c                         |   56 +-
 drivers/ide/ide-cd.c                       |   16 +-
 drivers/ide/ide-disk.c                     |    5 +-
 drivers/ide/ide-floppy.c                   |    2 -
 drivers/ide/ide-gd.c                       |   48 +-
 drivers/ide/ide-ioctls.c                   |    4 +-
 drivers/infiniband/sw/rdmavt/mr.c          |    2 +-
 drivers/md/bcache/request.c                |   10 +-
 drivers/md/bcache/super.c                  |    5 +-
 drivers/md/dm-linear.c                     |    5 +-
 drivers/md/dm-raid.c                       |    2 +-
 drivers/md/dm-table.c                      |   43 +-
 drivers/md/dm.c                            |   26 +-
 drivers/md/md-cluster.c                    |    6 +-
 drivers/md/md-linear.c                     |    2 +-
 drivers/md/md.c                            |   29 +-
 drivers/md/md.h                            |    4 +-
 drivers/md/raid0.c                         |   16 -
 drivers/md/raid10.c                        |   46 +-
 drivers/md/raid5.c                         |   31 +-
 drivers/mmc/core/block.c                   |    2 +-
 drivers/mmc/core/queue.c                   |    3 +-
 drivers/mtd/mtdcore.c                      |    2 +
 drivers/nvdimm/blk.c                       |    3 +-
 drivers/nvdimm/btt.c                       |    5 +-
 drivers/nvdimm/bus.c                       |    9 +-
 drivers/nvdimm/nd.h                        |    2 +-
 drivers/nvdimm/pmem.c                      |    4 +-
 drivers/nvme/host/core.c                   |   53 +-
 drivers/nvme/host/multipath.c              |   10 +-
 drivers/nvme/host/nvme.h                   |   13 -
 drivers/s390/block/dasd_genhd.c            |   15 +-
 drivers/s390/block/dasd_ioctl.c            |   17 +-
 drivers/scsi/iscsi_tcp.c                   |    4 +-
 drivers/scsi/sd.c                          |   13 +-
 drivers/scsi/sr.c                          |   36 +-
 drivers/target/target_core_iblock.c        |    5 +-
 fs/9p/vfs_file.c                           |    2 +-
 fs/9p/vfs_super.c                          |    6 +-
 fs/afs/super.c                             |    1 -
 fs/block_dev.c                             |  184 +++--
 fs/btrfs/disk-io.c                         |    2 -
 fs/buffer.c                                |   16 -
 fs/fs-writeback.c                          |    7 +-
 fs/fuse/inode.c                            |    4 +-
 fs/namei.c                                 |    4 +-
 fs/nfs/super.c                             |    9 +-
 fs/nfsd/blocklayout.c                      |    4 +-
 fs/ocfs2/cluster/heartbeat.c               |   28 +-
 fs/super.c                                 |    2 +
 fs/ubifs/super.c                           |    2 +
 fs/vboxsf/super.c                          |    2 +
 include/linux/backing-dev.h                |   78 +--
 include/linux/blk-crypto.h                 |   20 +-
 include/linux/blk-mq.h                     |   15 +-
 include/linux/blk_types.h                  |    7 +-
 include/linux/blkdev.h                     |   84 ++-
 include/linux/device-mapper.h              |    6 +
 include/linux/fs.h                         |    2 +-
 include/linux/genhd.h                      |   15 +-
 include/linux/ide.h                        |    2 -
 include/linux/percpu-refcount.h            |   52 +-
 include/linux/suspend.h                    |    4 +-
 include/linux/swap.h                       |    3 +-
 include/trace/events/iocost.h              |   67 +-
 include/uapi/linux/blkzoned.h              |   15 +-
 include/uapi/linux/capability.h            |    2 +
 kernel/power/swap.c                        |   21 +-
 kernel/power/user.c                        |   26 +-
 kernel/trace/blktrace.c                    |   13 +-
 lib/percpu-refcount.c                      |  131 +++-
 lib/vsprintf.c                             |    4 +-
 mm/backing-dev.c                           |   14 +-
 mm/filemap.c                               |    4 +-
 mm/memcontrol.c                            |    2 +-
 mm/memory-failure.c                        |    2 +-
 mm/migrate.c                               |    2 +-
 mm/mmap.c                                  |    2 +-
 mm/page-writeback.c                        |   18 +-
 mm/page_io.c                               |   18 +-
 mm/swapfile.c                              |   49 +-
 tools/cgroup/iocost_monitor.py             |   54 +-
 144 files changed, 3229 insertions(+), 2446 deletions(-)

Comments

pr-tracker-bot@kernel.org Oct. 13, 2020, 7:47 p.m. UTC | #1
The pull request you sent on Mon, 12 Oct 2020 07:40:45 -0600:

> git://git.kernel.dk/linux-block.git tags/block-5.10-2020-10-12

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/3ad11d7ac8872b1c8da54494721fad8907ee41f7

Thank you!