From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: [GIT PULL] Core block changes for 5.12-rc
Date: Wed, 17 Feb 2021 15:45:27 -0700 [thread overview]
Message-ID: <ff4cdd19-1930-bf79-c0fd-f022147095f7@kernel.dk> (raw)
Hi Linus,
Core block changes for the 5.12-rc merge window. Another nice round of
removing more code than what is added, mostly due to Christoph's
relentless pursuit of tech debt removal/cleanups. This pull request
contains:
- Two series of BFQ improvements (Paolo, Jan, Jia)
- Block iov_iter improvements (Pavel)
- bsg error path fix (Pan)
- blk-mq scheduler improvements (Jan)
- -EBUSY discard fix (Jan)
- bvec allocation improvements (Ming, Christoph)
- bio allocation and init improvements (Christoph)
- Store bdev pointer in bio instead of gendisk + partno (Christoph)
- Block trace point cleanups (Christoph)
- hard read-only vs read-only split (Christoph)
- Block based swap cleanups (Christoph)
- Zoned write granularity support (Damien)
- Various fixes/tweaks (Chunguang, Guoqing, Lei, Lukas, Huhai)
Two known merge issues with the btrfs tree:
https://lore.kernel.org/lkml/20210202135714.6470f476@canb.auug.org.au/
https://lore.kernel.org/lkml/20210202134559.175ae62f@canb.auug.org.au/
Please pull!
The following changes since commit 6ee1d745b7c9fd573fba142a2efdad76a9f1cb04:
Linux 5.11-rc5 (2021-01-24 16:47:14 -0800)
are available in the Git repository at:
git://git.kernel.dk/linux-block.git tags/for-5.12/block-2021-02-17
for you to fetch changes up to f885056a48ccf4ad4332def91e973f3993fa8695:
mm: simplify swapdev_block (2021-02-10 08:23:04 -0700)
----------------------------------------------------------------
for-5.12/block-2021-02-17
----------------------------------------------------------------
Baolin Wang (1):
blk-cgroup: Remove obsolete macro
Chaitanya Kulkarni (1):
nvme-core: check bdev value for NULL
Christoph Hellwig (53):
dm: use bdev_read_only to check if a device is read-only
block: remove the NULL bdev check in bdev_read_only
block: add a hard-readonly flag to struct gendisk
block: propagate BLKROSET on the whole device to all partitions
rbd: remove the ->set_read_only method
nvme: allow revalidate to set a namespace read-only
brd: remove the end of device check in brd_do_bvec
dcssblk: remove the end of device check in dcssblk_submit_bio
block: store a block_device pointer in struct bio
block: simplify submit_bio_checks a bit
block: do not reassig ->bi_bdev when partition remapping
block: use ->bi_bdev for bio based I/O accounting
blk-mq: use ->bi_bdev for I/O accounting
block: add a disk_uevent helper
block: remove DISK_PITER_REVERSE
block: use an xarray for disk->part_tbl
target/file: allocate the bvec array as part of struct target_core_file_cmd
block: skip bio_check_eod for partition-remapped bios
nvme: use bio_set_dev to assign ->bi_bdev
bcache: use bio_set_dev to assign ->bi_bdev
block: inherit BIO_REMAPPED when cloning bios
block: unexport truncate_bdev_range
zonefs: use bio_alloc in zonefs_file_dio_append
btrfs: use bio_kmalloc in __alloc_device
blk-crypto: use bio_kmalloc in blk_crypto_clone_bio
block: split bio_kmalloc from bio_alloc_bioset
block: use an on-stack bio in blkdev_issue_flush
dm-clone: use blkdev_issue_flush in commit_metadata
f2fs: use blkdev_issue_flush in __submit_flush_wait
f2fs: remove FAULT_ALLOC_BIO
drbd: remove bio_alloc_drbd
drbd: remove drbd_req_make_private_bio
md: remove bio_alloc_mddev
md: simplify sync_page_io
md: remove md_bio_alloc_sync
md/raid6: refactor raid5_read_one_chunk
nfs/blocklayout: remove cruft in bl_alloc_init_bio
nilfs2: remove cruft in nilfs_alloc_seg_bio
mm: remove get_swap_bio
md: check for NULL ->meta_bdev before calling bdev_read_only
md: use rdev_read_only in restart_array
block: reuse BIO_INLINE_VECS for integrity bvecs
block: move struct biovec_slab to bio.c
block: factor out a bvec_alloc_gfp helper
block: streamline bvec_alloc
block: remove the 1 and 4 vec bvec_slabs entries
block: turn the nr_iovecs argument to bio_alloc* into an unsigned short
block: remove a layer of indentation in bio_iov_iter_get_pages
block: set BIO_NO_PAGE_REF in bio_iov_bvec_set
block: mark the bio as cloned in bio_iov_bvec_set
md/raid10: remove dead code in reshape_request
block: use bi_max_vecs to find the bvec pool
mm: simplify swapdev_block
Chunguang Xu (1):
blkcg: delete redundant get/put operations for queue
Damien Le Moal (8):
block: document zone_append_max_bytes attribute
nvme: cleanup zone information initialization
nullb: use blk_queue_set_zoned() to setup zoned devices
block: use blk_queue_set_zoned in add_partition()
block: introduce zone_write_granularity limit
zonefs: use zone write granularity as block size
block: introduce blk_queue_clear_zone_settings()
sd_zbc: clear zone resources for non-zoned case
Guoqing Jiang (2):
block: remove unnecessary argument from blk_execute_rq_nowait
block: remove unnecessary argument from blk_execute_rq
Jan Kara (6):
Revert "blk-mq, elevator: Count requests per hctx to improve performance"
blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues
bdev: Do not return EBUSY if bdev discard races with write
bfq: Avoid false bfq queue merging
bfq: Use 'ttime' local variable
bfq: Use only idle IO periods for think time calculations
Jens Axboe (2):
bfq: bfq_check_waker() should be static
mm: only make map_swap_entry available for CONFIG_HIBERNATION
Jia Cheng Hu (1):
block, bfq: set next_rq to waker_bfqq->next_rq in waker injection
Lei Chen (1):
blk: wbt: remove unused parameter from wbt_should_throttle
Lukas Bulwahn (2):
block: remove typo in kernel-doc of set_disk_ro()
block: drop removed argument from kernel-doc of blk_execute_rq()
Ming Lei (7):
block: manage bio slab cache by xarray
block: don't pass BIOSET_NEED_BVECS for q->bio_split
block: don't allocate inline bvecs if this bioset needn't bvecs
block: set .bi_max_vecs as actual allocated vector number
block: move three bvec helpers declaration into private helper
bcache: don't pass BIOSET_NEED_BVECS for the 'bio_set' embedded in 'cache_set'
block: fix memory leak of bvec
Pan Bian (1):
bsg: free the request before return error code
Paolo Valente (11):
block, bfq: use half slice_idle as a threshold to check short ttime
block, bfq: increase time window for waker detection
block, bfq: do not raise non-default weights
block, bfq: avoid spurious switches to soft_rt of interactive queues
block, bfq: do not expire a queue when it is the only busy one
block, bfq: replace mechanism for evaluating I/O intensity
block, bfq: re-evaluate convenience of I/O plugging on rq arrivals
block, bfq: fix switch back from soft-rt weitgh-raising
block, bfq: save also weight-raised service on queue merging
block, bfq: save also injection state on queue merging
block, bfq: make waker-queue detection more robust
Pavel Begunkov (6):
splice: don't generate zero-len segement bvecs
bvec/iter: disallow zero-length segment bvecs
block/psi: remove PSI annotations from direct IO
iov_iter: optimise bvec iov_iter_advance()
bio: add a helper calculating nr segments to alloc
bio: don't copy bvec for direct IO
huhai (1):
bfq: don't duplicate code for different paths
Documentation/block/biovecs.rst | 2 +
Documentation/block/queue-sysfs.rst | 13 +
Documentation/filesystems/f2fs.rst | 1 -
Documentation/filesystems/porting.rst | 16 +
arch/m68k/emu/nfblock.c | 2 +-
arch/xtensa/platforms/iss/simdisk.c | 2 +-
block/bfq-iosched.c | 445 ++++++++++++++++----------
block/bfq-iosched.h | 29 +-
block/bfq-wf2q.c | 3 -
block/bio-integrity.c | 35 +--
block/bio.c | 569 +++++++++++++++-------------------
block/blk-cgroup.c | 22 +-
block/blk-core.c | 99 +++---
block/blk-crypto-fallback.c | 6 +-
block/blk-crypto.c | 2 +-
block/blk-exec.c | 14 +-
block/blk-flush.c | 17 +-
block/blk-merge.c | 17 +-
block/blk-mq.c | 69 ++++-
block/blk-settings.c | 41 ++-
block/blk-sysfs.c | 8 +
block/blk-throttle.c | 2 +-
block/blk-wbt.c | 4 +-
block/blk-zoned.c | 17 +
block/blk.h | 12 +-
block/bounce.c | 4 +-
block/bsg.c | 6 +-
block/genhd.c | 306 +++---------------
block/kyber-iosched.c | 1 +
block/mq-deadline.c | 6 -
block/partitions/core.c | 36 +--
block/scsi_ioctl.c | 6 +-
drivers/block/brd.c | 8 +-
drivers/block/drbd/drbd_actlog.c | 2 +-
drivers/block/drbd/drbd_bitmap.c | 2 +-
drivers/block/drbd/drbd_int.h | 6 +-
drivers/block/drbd/drbd_main.c | 13 -
drivers/block/drbd/drbd_req.c | 7 +-
drivers/block/drbd/drbd_req.h | 12 -
drivers/block/drbd/drbd_worker.c | 5 +-
drivers/block/mtip32xx/mtip32xx.c | 2 +-
drivers/block/null_blk/main.c | 2 +-
drivers/block/null_blk/zoned.c | 8 +-
drivers/block/paride/pd.c | 2 +-
drivers/block/pktcdvd.c | 6 +-
drivers/block/ps3vram.c | 2 +-
drivers/block/rbd.c | 19 --
drivers/block/rsxx/dev.c | 2 +-
drivers/block/sx8.c | 4 +-
drivers/block/umem.c | 2 +-
drivers/block/virtio_blk.c | 2 +-
drivers/block/zram/zram_drv.c | 2 +-
drivers/cdrom/cdrom.c | 2 +-
drivers/ide/ide-atapi.c | 2 +-
drivers/ide/ide-cd.c | 2 +-
drivers/ide/ide-cd_ioctl.c | 2 +-
drivers/ide/ide-devsets.c | 2 +-
drivers/ide/ide-disk.c | 2 +-
drivers/ide/ide-ioctls.c | 4 +-
drivers/ide/ide-park.c | 2 +-
drivers/ide/ide-pm.c | 4 +-
drivers/ide/ide-tape.c | 2 +-
drivers/ide/ide-taskfile.c | 2 +-
drivers/lightnvm/pblk-init.c | 2 +-
drivers/md/bcache/debug.c | 2 +-
drivers/md/bcache/request.c | 39 ++-
drivers/md/bcache/super.c | 2 +-
drivers/md/dm-bio-record.h | 9 +-
drivers/md/dm-cache-metadata.c | 2 +-
drivers/md/dm-clone-target.c | 14 +-
drivers/md/dm-raid1.c | 10 +-
drivers/md/dm-thin-metadata.c | 2 +-
drivers/md/dm-zoned-metadata.c | 6 +-
drivers/md/dm.c | 14 +-
drivers/md/md-linear.c | 2 +-
drivers/md/md.c | 73 ++---
drivers/md/md.h | 8 +-
drivers/md/raid1.c | 8 +-
drivers/md/raid10.c | 18 +-
drivers/md/raid5-ppl.c | 2 +-
drivers/md/raid5.c | 110 +++----
drivers/mmc/core/block.c | 10 +-
drivers/nvdimm/blk.c | 4 +-
drivers/nvdimm/btt.c | 4 +-
drivers/nvdimm/pmem.c | 4 +-
drivers/nvme/host/core.c | 31 +-
drivers/nvme/host/lightnvm.c | 7 +-
drivers/nvme/host/multipath.c | 6 +-
drivers/nvme/host/pci.c | 4 +-
drivers/nvme/host/rdma.c | 2 +-
drivers/nvme/host/zns.c | 11 +-
drivers/nvme/target/io-cmd-bdev.c | 2 +-
drivers/nvme/target/passthru.c | 2 +-
drivers/s390/block/dasd.c | 26 +-
drivers/s390/block/dcssblk.c | 6 +-
drivers/s390/block/xpram.c | 2 +-
drivers/scsi/scsi_error.c | 2 +-
drivers/scsi/scsi_lib.c | 2 +-
drivers/scsi/sd_zbc.c | 43 ++-
drivers/scsi/sg.c | 3 +-
drivers/scsi/st.c | 2 +-
drivers/target/target_core_file.c | 20 +-
drivers/target/target_core_pscsi.c | 3 +-
fs/block_dev.c | 20 +-
fs/btrfs/check-integrity.c | 10 +-
fs/btrfs/raid56.c | 7 +-
fs/btrfs/scrub.c | 2 +-
fs/btrfs/volumes.c | 2 +-
fs/direct-io.c | 4 +-
fs/exfat/file.c | 2 +-
fs/ext4/fast_commit.c | 4 +-
fs/ext4/fsync.c | 2 +-
fs/ext4/ialloc.c | 2 +-
fs/ext4/super.c | 2 +-
fs/f2fs/data.c | 40 +--
fs/f2fs/f2fs.h | 2 -
fs/f2fs/segment.c | 12 +-
fs/f2fs/super.c | 1 -
fs/fat/file.c | 2 +-
fs/hfsplus/inode.c | 2 +-
fs/hfsplus/super.c | 2 +-
fs/iomap/direct-io.c | 9 +-
fs/jbd2/checkpoint.c | 2 +-
fs/jbd2/commit.c | 4 +-
fs/jbd2/recovery.c | 2 +-
fs/libfs.c | 2 +-
fs/nfs/blocklayout/blocklayout.c | 5 -
fs/nfsd/blocklayout.c | 2 +-
fs/nilfs2/segbuf.c | 4 -
fs/nilfs2/the_nilfs.h | 2 +-
fs/ocfs2/file.c | 2 +-
fs/reiserfs/file.c | 2 +-
fs/splice.c | 9 +-
fs/super.c | 3 +-
fs/xfs/xfs_super.c | 2 +-
fs/zonefs/super.c | 13 +-
include/linux/bio.h | 55 ++--
include/linux/blk-mq.h | 8 +-
include/linux/blk_types.h | 33 +-
include/linux/blkdev.h | 53 ++--
include/linux/elevator.h | 2 +
include/linux/genhd.h | 27 +-
include/linux/swap.h | 1 -
kernel/trace/blktrace.c | 16 +-
lib/iov_iter.c | 21 +-
mm/page_io.c | 47 +--
mm/swapfile.c | 36 +--
147 files changed, 1340 insertions(+), 1605 deletions(-)
--
Jens Axboe
next reply other threads:[~2021-02-17 22:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-17 22:45 Jens Axboe [this message]
2021-02-21 19:14 ` [GIT PULL] Core block changes for 5.12-rc pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ff4cdd19-1930-bf79-c0fd-f022147095f7@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.