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] Block updates for 6.10-rc1
Date: Sat, 11 May 2024 08:23:44 -0600 [thread overview]
Message-ID: <93e54ea2-01c7-413b-a13d-2e731193acd7@kernel.dk> (raw)
[-- Attachment #1: Type: text/plain, Size: 11792 bytes --]
Hi Linus,
Here are the block updates for the 6.10 merge window. A pretty quiet
round on the block front this time. Notably absent are the nvme changes
for this series, as they have not been sent in yet. They will come in a
followup pull request before -rc1.
This pull request contains:
- Add a partscan attribute in sysfs, fixing an issue with systemd
relying on an internal interface that went away.
- Attempt #2 at making long running discards interruptible. The previous
attempt went into 6.9, but we ended up mostly reverting it as it had
issues.
- Remove old ida_simple API in bcache
- Support for zoned write plugging, greatly improving the performance on
zoned devices.
- Remove the old throttle low interface, which has been experimental
since 2017 and never made it beyond that and isn't being used.
- Remove page->index debugging checks in brd, as it hasn't caught
anything and prepares us for removing in struct page.
- MD pull request from Song
- Don't schedule block workers on isolated CPUs
This will throw a merge conflict in block/ioctl.c due to a fix that went
into 6.9 post -rc2, I'm attaching my resolution of it.
Outside of that, there are various conflicts with pending changes in the
other trees, I'll link them below. They are all pretty trivial. This is
mostly an issue with the VFS tree, something we really need to
coordinate better going forward.
https://lore.kernel.org/all/20240402112137.1ee85957@canb.auug.org.au/
https://lore.kernel.org/all/20240402112746.3864d8a6@canb.auug.org.au/
https://lore.kernel.org/all/20240416124426.624cfaf9@canb.auug.org.au/
https://lore.kernel.org/all/20240508130207.3d83702f@canb.auug.org.au/
https://lore.kernel.org/all/20240510123419.42f727c1@canb.auug.org.au/
Please pull!
The following changes since commit 39cd87c4eb2b893354f3b850f916353f2658ae6f:
Linux 6.9-rc2 (2024-03-31 14:32:39 -0700)
are available in the Git repository at:
git://git.kernel.dk/linux.git tags/for-6.10/block-20240511
for you to fetch changes up to a3166c51702bb00b8f8b84022090cbab8f37be1a:
blk-throttle: delay initialization until configuration (2024-05-09 09:44:56 -0600)
----------------------------------------------------------------
for-6.10/block-20240511
----------------------------------------------------------------
Christoph Hellwig (12):
block: add a bio_list_merge_init helper
blk-cgroup: use bio_list_merge_init
dm: use bio_list_merge_init
btrfs use bio_list_merge_init
block: add a disk_has_partscan helper
block: add a partscan sysfs attribute for disks
block: refine the EOF check in blkdev_iomap_begin
block: remove the discard_granularity check in __blkdev_issue_discard
block: move discard checks into the ioctl handler
block: add a bio_chain_and_submit helper
block: add a blk_alloc_discard_bio helper
blk-lib: check for kill signal in ioctl BLKDISCARD
Christophe JAILLET (1):
bcache: Remove usage of the deprecated ida_simple_xx() API
Damien Le Moal (46):
block: Restore sector of flush requests
block: Remove req_bio_endio()
block: Introduce blk_zone_update_request_bio()
block: Introduce bio_straddles_zones() and bio_offset_from_zone_start()
block: Allow using bio_attempt_back_merge() internally
block: Remember zone capacity when revalidating zones
block: Introduce zone write plugging
block: Fake max open zones limit when there is no limit
block: Allow zero value of max_zone_append_sectors queue limit
block: Implement zone append emulation
block: Allow BIO-based drivers to use blk_revalidate_disk_zones()
dm: Use the block layer zone append emulation
scsi: sd: Use the block layer zone append emulation
ublk_drv: Do not request ELEVATOR_F_ZBD_SEQ_WRITE elevator feature
null_blk: Do not request ELEVATOR_F_ZBD_SEQ_WRITE elevator feature
null_blk: Introduce zone_append_max_sectors attribute
null_blk: Introduce fua attribute
nvmet: zns: Do not reference the gendisk conv_zones_bitmap
block: Remove BLK_STS_ZONE_RESOURCE
block: Simplify blk_revalidate_disk_zones() interface
block: mq-deadline: Remove support for zone write locking
block: Remove elevator required features
block: Do not check zone type in blk_check_zone_append()
block: Move zone related debugfs attribute to blk-zoned.c
block: Replace zone_wlock debugfs entry with zone_wplugs entry
block: Remove zone write locking
block: Do not force select mq-deadline with CONFIG_BLK_DEV_ZONED
block: Do not special-case plugging of zone write operations
null_blk: Have all null_handle_xxx() return a blk_status_t
null_blk: Do zone resource management only if necessary
null_blk: Simplify null_zone_write()
block: use a per disk workqueue for zone write plugging
dm: Check that a zoned table leads to a valid mapped device
block: Exclude conventional zones when faking max open limit
block: Fix zone write plug initialization from blk_revalidate_zone_cb()
block: Fix reference counting for zone write plugs in error state
block: Hold a reference on zone write plugs to schedule submission
block: Unhash a zone write plug only if needed
block: Do not remove zone write plugs still in use
block: Fix flush request sector restore
block: Fix handling of non-empty flush write requests to zones
block: Improve blk_zone_write_plug_bio_merged()
block: Improve zone write request completion handling
block: Simplify blk_zone_write_plug_bio_endio()
block: Simplify zone write plug BIO abort
block: Cleanup blk_revalidate_zone_cb()
Florian-Ewald Mueller (1):
md: add check for sleepers in md_wakeup_thread()
INAGAKI Hiroshi (1):
block: fix and simplify blkdevparts= cmdline parsing
Jens Axboe (2):
Merge tag 'md-6.10-20240425' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.10/block
Merge tag 'md-6.10-20240502' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.10/block
Jiapeng Chong (1):
block/mq-deadline: Remove some unused functions
Johannes Thumshirn (1):
block: check if zone_wplugs_hash exists in queue_zone_wplugs_show
John Garry (2):
blk-throttle: Only use seq_printf() in tg_prfill_limit()
block: Call blkdev_dio_unaligned() from blkdev_direct_IO()
Justin Stitt (1):
block/ioctl: prefer different overflow check
Kefeng Wang (1):
blk-cgroup: use group allocation/free of per-cpu counters API
Keith Busch (1):
block: add a bio_await_chain helper
Li Nan (3):
md: Fix overflow in is_mddev_idle
md: don't account sync_io if iostats of the disk is disabled
md: Revert "md: Fix overflow in is_mddev_idle"
Matthew Mirvish (1):
bcache: fix variable length array abuse in btree_iter
Matthew Wilcox (Oracle) (1):
brd: Remove use of page->index
Ming Lei (1):
blk-mq: don't schedule block kworker on isolated CPUs
Yu Kuai (7):
md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
md: fix resync softlockup when bitmap size is less than array size
block: add plug while submitting IO
block: support to account io_ticks precisely
block: fix that util can be greater than 100%
blk-throttle: remove CONFIG_BLK_DEV_THROTTLING_LOW
blk-throttle: delay initialization until configuration
Zhu Yanjun (2):
null_blk: Fix missing mutex_destroy() at module removal
null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
linke li (1):
sbitmap: use READ_ONCE to access map->word
Documentation/ABI/stable/sysfs-block | 22 +-
arch/loongarch/configs/loongson3_defconfig | 1 -
block/Kconfig | 16 -
block/Makefile | 1 -
block/bio.c | 50 +-
block/blk-cgroup-rwstat.c | 18 +-
block/blk-cgroup.c | 9 +-
block/blk-core.c | 26 +-
block/blk-flush.c | 2 +
block/blk-lib.c | 68 +-
block/blk-merge.c | 25 +-
block/blk-mq-debugfs-zoned.c | 22 -
block/blk-mq-debugfs.c | 3 +-
block/blk-mq-debugfs.h | 6 +-
block/blk-mq.c | 184 +--
block/blk-mq.h | 31 -
block/blk-settings.c | 46 +-
block/blk-stat.c | 3 -
block/blk-sysfs.c | 10 +-
block/blk-throttle.c | 1019 ++---------------
block/blk-throttle.h | 46 +-
block/blk-zoned.c | 1690 ++++++++++++++++++++++++----
block/blk.h | 97 +-
block/elevator.c | 46 +-
block/elevator.h | 1 -
block/fops.c | 31 +-
block/genhd.c | 32 +-
block/ioctl.c | 42 +-
block/mq-deadline.c | 204 +---
block/partitions/cmdline.c | 49 +-
block/partitions/core.c | 5 +-
drivers/block/brd.c | 40 +-
drivers/block/null_blk/main.c | 43 +-
drivers/block/null_blk/null_blk.h | 2 +
drivers/block/null_blk/zoned.c | 358 +++---
drivers/block/ublk_drv.c | 5 +-
drivers/block/virtio_blk.c | 2 +-
drivers/md/bcache/bset.c | 44 +-
drivers/md/bcache/bset.h | 28 +-
drivers/md/bcache/btree.c | 40 +-
drivers/md/bcache/super.c | 15 +-
drivers/md/bcache/sysfs.c | 2 +-
drivers/md/bcache/writeback.c | 10 +-
drivers/md/dm-bio-prison-v2.c | 3 +-
drivers/md/dm-cache-target.c | 12 +-
drivers/md/dm-clone-target.c | 14 +-
drivers/md/dm-core.h | 2 +-
drivers/md/dm-era-target.c | 3 +-
drivers/md/dm-mpath.c | 3 +-
drivers/md/dm-table.c | 3 +-
drivers/md/dm-thin.c | 12 +-
drivers/md/dm-vdo/data-vio.c | 3 +-
drivers/md/dm-vdo/flush.c | 3 +-
drivers/md/dm-zone.c | 501 ++-------
drivers/md/dm.c | 72 +-
drivers/md/dm.h | 2 -
drivers/md/md-bitmap.c | 6 +-
drivers/md/md.c | 7 +-
drivers/md/md.h | 3 +-
drivers/md/raid5.c | 15 +-
drivers/nvme/host/core.c | 2 +-
drivers/nvme/target/zns.c | 10 +-
drivers/scsi/scsi_lib.c | 1 -
drivers/scsi/sd.c | 8 -
drivers/scsi/sd.h | 19 -
drivers/scsi/sd_zbc.c | 335 +-----
fs/btrfs/raid56.c | 3 +-
include/linux/bio.h | 11 +
include/linux/blk-mq.h | 85 +-
include/linux/blk_types.h | 30 +-
include/linux/blkdev.h | 116 +-
lib/sbitmap.c | 8 +-
72 files changed, 2646 insertions(+), 3040 deletions(-)
delete mode 100644 block/blk-mq-debugfs-zoned.c
--
Jens Axboe
[-- Attachment #2: block-merge.txt --]
[-- Type: text/plain, Size: 2444 bytes --]
commit 861f0633c90e404e71bd4a12f304a1c678d7b0fc
Merge: 5521ccb7c69f a3166c51702b
Author: Jens Axboe <axboe@kernel.dk>
Date: Sat May 11 08:09:01 2024 -0600
Merge branch 'for-6.10/block' into test
* for-6.10/block: (84 commits)
blk-throttle: delay initialization until configuration
blk-throttle: remove CONFIG_BLK_DEV_THROTTLING_LOW
block: fix that util can be greater than 100%
block: support to account io_ticks precisely
block: add plug while submitting IO
bcache: fix variable length array abuse in btree_iter
bcache: Remove usage of the deprecated ida_simple_xx() API
md: Revert "md: Fix overflow in is_mddev_idle"
blk-lib: check for kill signal in ioctl BLKDISCARD
block: add a bio_await_chain helper
block: add a blk_alloc_discard_bio helper
block: add a bio_chain_and_submit helper
block: move discard checks into the ioctl handler
block: remove the discard_granularity check in __blkdev_issue_discard
block/ioctl: prefer different overflow check
null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
block: fix and simplify blkdevparts= cmdline parsing
block: refine the EOF check in blkdev_iomap_begin
block: add a partscan sysfs attribute for disks
block: add a disk_has_partscan helper
...
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --cc block/ioctl.c
index f505f9c341eb,d7a6c6931a1e..c7db3bd2d653
--- a/block/ioctl.c
+++ b/block/ioctl.c
@@@ -95,9 -95,12 +95,12 @@@ static int compat_blkpg_ioctl(struct bl
static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
unsigned long arg)
{
- uint64_t range[2];
- uint64_t start, len, end;
+ unsigned int bs_mask = bdev_logical_block_size(bdev) - 1;
struct inode *inode = bdev->bd_inode;
- uint64_t range[2], start, len;
++ uint64_t range[2], start, len, end;
+ struct bio *prev = NULL, *bio;
+ sector_t sector, nr_sects;
+ struct blk_plug plug;
int err;
if (!(mode & BLK_OPEN_WRITE))
@@@ -112,13 -117,12 +117,13 @@@
start = range[0];
len = range[1];
- if (start & 511)
+ if (!len)
return -EINVAL;
- if (len & 511)
+ if ((start | len) & bs_mask)
return -EINVAL;
- if (start + len > bdev_nr_bytes(bdev))
+ if (check_add_overflow(start, len, &end) ||
+ end > bdev_nr_bytes(bdev))
return -EINVAL;
filemap_invalidate_lock(inode->i_mapping);
next reply other threads:[~2024-05-11 14:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-11 14:23 Jens Axboe [this message]
2024-05-13 21:33 ` [GIT PULL] Block updates for 6.10-rc1 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=93e54ea2-01c7-413b-a13d-2e731193acd7@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).