* [GIT PULL] Block changes for 5.15-rc1
@ 2021-08-30 14:32 Jens Axboe
2021-08-31 1:56 ` Linus Torvalds
2021-08-31 2:14 ` pr-tracker-bot
0 siblings, 2 replies; 4+ messages in thread
From: Jens Axboe @ 2021-08-30 14:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-block
Hi Linus,
Nothing major in here - lots of good cleanups and tech debt handling,
which is also evident in the diffstats. In particular:
- Add disk sequence numbers (Matteo)
- Discard merge fix (Ming)
- Relax disk zoned reporting restrictions (Niklas)
- Bio error handling zoned leak fix (Pavel)
- Start of proper add_disk() error handling (Luis, Christoph)
- blk crypto fix (Eric)
- Non-standard GPT location support (Dmitry)
- IO priority improvements and cleanups (Damien)o
- blk-throtl improvements (Chunguang)
- diskstats_show() stack reduction (Abd-Alrhman)
- Loop scheduler selection (Bart)
- Switch block layer to use kmap_local_page() (Christoph)
- Remove obsolete disk_name helper (Christoph)
- block_device refcounting improvements (Christoph)
- Ensure gendisk always has a request queue reference (Christoph)
- Misc fixes/cleanups (Shaokun, Oliver, Guoqing)
Note that this will throw two conflicts when being pulled in:
1) block/mq-deadline-cgroup.c - this one got reverted late in the 5.14
cycle, git rm is the right resolution here.
2) drivers/block/virtio_blk.c - error handling fix later in the 5.14
cycle ends up touching the same out path. My resolution:
diff --cc drivers/block/virtio_blk.c
index afb37aac09e8,63dc121a4c43..2a5e27bb8e59
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@@ -902,10 -875,13 +899,13 @@@ static int virtblk_probe(struct virtio_
virtblk_update_capacity(vblk, false);
virtio_device_ready(vdev);
- device_add_disk(&vdev->dev, vblk->disk, virtblk_attr_groups);
+ err = device_add_disk(&vdev->dev, vblk->disk, virtblk_attr_groups);
+ if (err)
- goto out_cleanup_disk;
++ goto err_cleanup_disk;
+
return 0;
-out_cleanup_disk:
+err_cleanup_disk:
blk_cleanup_disk(vblk->disk);
out_free_tags:
blk_mq_free_tag_set(&vblk->tag_set);
Apart from that, all clean.
Please pull!
The following changes since commit c500bee1c5b2f1d59b1081ac879d73268ab0ff17:
Linux 5.14-rc4 (2021-08-01 17:04:17 -0700)
are available in the Git repository at:
git://git.kernel.dk/linux-block.git tags/for-5.15/block-2021-08-30
for you to fetch changes up to 1d1cf156dc176e30eeaced5cf1450d582d387b81:
sg: pass the device name to blk_trace_setup (2021-08-25 06:46:54 -0600)
----------------------------------------------------------------
for-5.15/block-2021-08-30
----------------------------------------------------------------
Abd-Alrhman Masalkhi (1):
block: reduce stack usage in diskstats_show
Bart Van Assche (2):
blk-mq: Introduce the BLK_MQ_F_NO_SCHED_BY_DEFAULT flag
loop: Select I/O scheduler 'none' from inside add_disk()
Christoph Hellwig (95):
MIPS: don't include <linux/genhd.h> in <asm/mach-rc32434/rb.h>
bvec: fix the include guards for bvec.h
bvec: add a bvec_kmap_local helper
bvec: add memcpy_{from,to}_bvec and memzero_bvec helper
block: use memzero_page in zero_fill_bio
rbd: use memzero_bvec
dm-writecache: use bvec_kmap_local instead of bvec_kmap_irq
ps3disk: use memcpy_{from,to}_bvec
block: remove bvec_kmap_irq and bvec_kunmap_irq
block: rewrite bio_copy_data_iter to use bvec_kmap_local and memcpy_to_bvec
block: use memcpy_to_bvec in copy_to_high_bio_irq
block: use memcpy_from_bvec in bio_copy_kern_endio_read
block: use memcpy_from_bvec in __blk_queue_bounce
block: use bvec_kmap_local in t10_pi_type1_{prepare,complete}
block: use bvec_kmap_local in bio_integrity_process
block: assert the locking state in delete_partition
block: unhash the whole device inode earlier
block: allocate bd_meta_info later in add_partitions
block: change the refcounting for partitions
loop: don't grab a reference to the block device
block: remove bdgrab
block: remove bdput
block: use the %pg format specifier in printk_all_partitions
block: use the %pg format specifier in show_partition
block: simplify printing the device names disk_stack_limits
block: simplify disk name formatting in check_partition
block: remove disk_name()
block: remove cmdline-parser.c
block: make the block holder code optional
block: remove the extra kobject reference in bd_link_disk_holder
block: look up holders by bdev
block: support delayed holder registration
dm: cleanup cleanup_mapped_device
dm: move setting md->type into dm_setup_md_queue
dm: delay registering the gendisk
block: remove support for delayed queue registrations
mm: hide laptop_mode_wb_timer entirely behind the BDI API
block: pass a gendisk to blk_queue_update_readahead
block: add a queue_has_disk helper
block: move the bdi from the request_queue to the gendisk
block: remove the bd_bdi in struct block_device
writeback: make the laptop_mode prototypes available unconditionally
mmc: block: let device_add_disk create disk attributes
mmc: block: cleanup gendisk creation
nvme: remove the GENHD_FL_UP check in nvme_ns_remove
nvme: replace the GENHD_FL_UP check in nvme_mpath_shutdown_disk
sx8: use the internal state machine to check if del_gendisk needs to be called
bcache: add proper error unwinding in bcache_device_init
bcache: move the del_gendisk call out of bcache_device_free
block: remove GENHD_FL_UP
block: store a gendisk in struct parsed_partitions
block: pass a gendisk to bdev_add_partition
block: pass a gendisk to bdev_del_partition
block: pass a gendisk to bdev_resize_partition
block: free the extended dev_t minor later
block: ensure the bdi is freed after inode_detach_wb
bvec: add a bvec_virt helper
block: use bvec_virt in bio_integrity_{process,free}
dm: make EBS depend on !HIGHMEM
dm-ebs: use bvec_virt
dm-integrity: use bvec_virt
squashfs: use bvec_virt
rbd: use bvec_virt
virtio_blk: use bvec_virt
bcache: use bvec_virt
sd: use bvec_virt
ubd: use bvec_virt
ps3vram: use bvec_virt
dasd: use bvec_virt
dcssblk: use bvec_virt
nvme: use bvec_virt
blk-cgroup: refactor blkcg_print_stat
blk-cgroup: stop using seq_get_buf
block: unexport blk_register_queue
block: add back the bd_holder_dir reference in bd_link_disk_holder
nvme: use blk_mq_alloc_disk
st: do not allocate a gendisk
sg: do not allocate a gendisk
block: cleanup the lockdep handling in *alloc_disk
block: remove alloc_disk and alloc_disk_node
block: remove the minors argument to __alloc_disk_node
block: pass a request_queue to __blk_alloc_disk
block: hold a request_queue reference for the lifetime of struct gendisk
block: add an explicit ->disk backpointer to the request_queue
block: add a sanity check for a live disk in del_gendisk
block: fold register_disk into device_add_disk
block: call bdev_add later in device_add_disk
block: create the bdi link earlier in device_add_disk
block: call blk_integrity_add earlier in device_add_disk
block: call blk_register_queue earlier in device_add_disk
block: remove a pointless call to MINOR() in device_add_disk
block: remove CONFIG_DEBUG_BLOCK_EXT_DEVT
block: refine the disk_live check in del_gendisk
block: mark blkdev_fsync static
sg: pass the device name to blk_trace_setup
Chunguang Xu (1):
blk-throtl: optimize IOPS throttle for large IO scenarios
Damien Le Moal (7):
block: remove blk-mq-sysfs dead code
block: bfq: fix bfq_set_next_ioprio_data()
block: improve ioprio class description comment
block: change ioprio_valid() to an inline function
block: fix IOPRIO_PRIO_CLASS() and IOPRIO_PRIO_VALUE() macros
block: Introduce IOPRIO_NR_LEVELS
block: fix default IO priority handling
Dmitry Osipenko (4):
block: Add alternative_gpt_sector() operation
partitions/efi: Support non-standard GPT location
mmc: block: Support alternative_gpt_sector() operation
mmc: sdhci-tegra: Enable MMC_CAP2_ALT_GPT_TEGRA
Eric Biggers (1):
blk-crypto: fix check for too-large dun_bytes
Guoqing Jiang (1):
block: move some macros to blkdev.h
Luis Chamberlain (5):
block: return errors from blk_integrity_add
block: return errors from disk_alloc_events
block: add error handling for device_add_disk / add_disk
virtio_blk: add error handling support for add_disk()
null_blk: add error handling support for add_disk()
Matteo Croce (6):
block: add disk sequence number
block: export the diskseq in uevents
block: add ioctl to read the disk sequence number
block: export diskseq in sysfs
block: add a helper to raise a media changed event
loop: raise media_change event
Ming Lei (1):
block: return ELEVATOR_DISCARD_MERGE if possible
Niklas Cassel (2):
blk-zoned: allow zone management send operations without CAP_SYS_ADMIN
blk-zoned: allow BLKREPORTZONE without CAP_SYS_ADMIN
Oliver Hartkopp (1):
ioprio: move user space relevant ioprio bits to UAPI includes
Pavel Begunkov (1):
bio: fix page leak bio_add_hw_page failure
Shaokun Zhang (1):
block, bfq: cleanup the repeated declaration
Documentation/ABI/testing/sysfs-block | 12 +
arch/m68k/configs/stmark2_defconfig | 1 -
arch/mips/include/asm/mach-rc32434/rb.h | 2 -
arch/riscv/configs/defconfig | 1 -
arch/riscv/configs/rv32_defconfig | 1 -
arch/um/drivers/ubd_kern.c | 3 +-
block/Kconfig | 14 +-
block/Makefile | 2 +-
block/bfq-iosched.c | 17 +-
block/bfq-iosched.h | 6 +-
block/bfq-wf2q.c | 6 +-
block/bio-integrity.c | 21 +-
block/bio.c | 52 ++---
block/blk-cgroup.c | 139 +++++-------
block/blk-core.c | 18 +-
block/blk-crypto.c | 2 +-
block/blk-integrity.c | 12 +-
block/blk-iocost.c | 23 +-
block/blk-iolatency.c | 38 ++--
block/blk-map.c | 2 +-
block/blk-merge.c | 18 +-
block/blk-mq-sysfs.c | 55 -----
block/blk-mq.c | 8 +-
block/blk-settings.c | 34 +--
block/blk-sysfs.c | 35 +--
block/blk-throttle.c | 32 +++
block/blk-wbt.c | 8 +-
block/blk-zoned.c | 6 -
block/blk.h | 20 +-
block/bounce.c | 39 +---
block/cmdline-parser.c | 255 ---------------------
block/disk-events.c | 69 ++++--
block/elevator.c | 7 +-
block/genhd.c | 385 ++++++++++++++++----------------
block/holder.c | 174 +++++++++++++++
block/ioctl.c | 16 +-
block/ioprio.c | 9 +-
block/mq-deadline-cgroup.c | 8 +-
block/mq-deadline-main.c | 2 +
block/partitions/Kconfig | 1 -
block/partitions/acorn.c | 4 +-
block/partitions/aix.c | 20 +-
block/partitions/amiga.c | 7 +-
block/partitions/atari.c | 4 +-
block/partitions/check.h | 2 +-
block/partitions/cmdline.c | 273 +++++++++++++++++++++-
block/partitions/core.c | 73 +++---
block/partitions/efi.c | 48 ++--
block/partitions/ibm.c | 4 +-
block/partitions/ldm.c | 18 +-
block/partitions/mac.c | 2 +-
block/partitions/msdos.c | 6 +-
block/partitions/sgi.c | 5 +-
block/partitions/sun.c | 5 +-
block/t10-pi.c | 16 +-
drivers/block/brd.c | 3 -
drivers/block/drbd/drbd_nl.c | 2 +-
drivers/block/drbd/drbd_req.c | 5 +-
drivers/block/loop.c | 13 +-
drivers/block/null_blk/main.c | 7 +-
drivers/block/pktcdvd.c | 8 +-
drivers/block/ps3disk.c | 18 +-
drivers/block/ps3vram.c | 2 +-
drivers/block/rbd.c | 18 +-
drivers/block/sx8.c | 2 +-
drivers/block/virtio_blk.c | 14 +-
drivers/md/Kconfig | 4 +-
drivers/md/bcache/Kconfig | 1 +
drivers/md/bcache/btree.c | 2 +-
drivers/md/bcache/super.c | 26 ++-
drivers/md/bcache/util.h | 2 -
drivers/md/dm-ebs-target.c | 2 +-
drivers/md/dm-integrity.c | 4 +-
drivers/md/dm-ioctl.c | 4 -
drivers/md/dm-rq.c | 1 -
drivers/md/dm-table.c | 2 +-
drivers/md/dm-writecache.c | 5 +-
drivers/md/dm.c | 32 ++-
drivers/md/md.h | 4 +-
drivers/mmc/core/block.c | 164 +++++++-------
drivers/mmc/core/core.c | 35 +++
drivers/mmc/core/core.h | 2 +
drivers/mmc/core/mmc.c | 2 +
drivers/mmc/host/sdhci-tegra.c | 9 +
drivers/nvme/host/core.c | 56 ++---
drivers/nvme/host/multipath.c | 2 +-
drivers/s390/block/dasd_diag.c | 2 +-
drivers/s390/block/dasd_eckd.c | 14 +-
drivers/s390/block/dasd_fba.c | 4 +-
drivers/s390/block/dasd_genhd.c | 7 +-
drivers/s390/block/dcssblk.c | 3 +-
drivers/scsi/sd.c | 8 +-
drivers/scsi/sg.c | 32 +--
drivers/scsi/sr.c | 7 +-
drivers/scsi/st.c | 49 +---
drivers/scsi/st.h | 2 +-
fs/block_dev.c | 257 +++------------------
fs/f2fs/sysfs.c | 2 +-
fs/fat/fatent.c | 1 +
fs/nilfs2/super.c | 2 +-
fs/squashfs/block.c | 7 +-
fs/squashfs/lz4_wrapper.c | 2 +-
fs/squashfs/lzo_wrapper.c | 2 +-
fs/squashfs/xz_wrapper.c | 2 +-
fs/squashfs/zlib_wrapper.c | 2 +-
fs/squashfs/zstd_wrapper.c | 2 +-
fs/super.c | 2 +-
fs/xfs/xfs_buf.c | 2 +-
include/linux/backing-dev.h | 2 +-
include/linux/bio.h | 42 ----
include/linux/blk-cgroup.h | 4 +-
include/linux/blk-mq.h | 16 +-
include/linux/blk_types.h | 4 -
include/linux/blkdev.h | 38 +++-
include/linux/bvec.h | 64 +++++-
include/linux/cmdline-parser.h | 46 ----
include/linux/device-mapper.h | 1 -
include/linux/fs.h | 4 -
include/linux/genhd.h | 70 +++---
include/linux/ioprio.h | 44 +---
include/linux/mmc/card.h | 1 +
include/linux/mmc/host.h | 1 +
include/linux/writeback.h | 5 -
include/trace/events/kyber.h | 6 +-
include/uapi/linux/fs.h | 1 +
include/uapi/linux/ioprio.h | 52 +++++
init/do_mounts.c | 4 -
lib/Kconfig.debug | 27 ---
mm/backing-dev.c | 3 +
mm/page-writeback.c | 2 -
130 files changed, 1584 insertions(+), 1755 deletions(-)
delete mode 100644 block/cmdline-parser.c
create mode 100644 block/holder.c
delete mode 100644 include/linux/cmdline-parser.h
create mode 100644 include/uapi/linux/ioprio.h
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] Block changes for 5.15-rc1
2021-08-30 14:32 [GIT PULL] Block changes for 5.15-rc1 Jens Axboe
@ 2021-08-31 1:56 ` Linus Torvalds
2021-08-31 2:06 ` Jens Axboe
2021-08-31 2:14 ` pr-tracker-bot
1 sibling, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2021-08-31 1:56 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-block
On Mon, Aug 30, 2021 at 7:32 AM Jens Axboe <axboe@kernel.dk> wrote:
>
> 2) drivers/block/virtio_blk.c - error handling fix later in the 5.14
> cycle ends up touching the same out path. My resolution:
>
> - goto out_cleanup_disk;
> ++ goto err_cleanup_disk;
..
> -out_cleanup_disk:
> +err_cleanup_disk:
I did it the other way, and used "out_cleanup_disk" to match all the
other "out_xyz" cases in that function..
That should obviously be equivalent, unless something strange is going on.
Linus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] Block changes for 5.15-rc1
2021-08-31 1:56 ` Linus Torvalds
@ 2021-08-31 2:06 ` Jens Axboe
0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2021-08-31 2:06 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-block
On 8/30/21 7:56 PM, Linus Torvalds wrote:
> On Mon, Aug 30, 2021 at 7:32 AM Jens Axboe <axboe@kernel.dk> wrote:
>>
>> 2) drivers/block/virtio_blk.c - error handling fix later in the 5.14
>> cycle ends up touching the same out path. My resolution:
>>
>> - goto out_cleanup_disk;
>> ++ goto err_cleanup_disk;
> ..
>> -out_cleanup_disk:
>> +err_cleanup_disk:
>
> I did it the other way, and used "out_cleanup_disk" to match all the
> other "out_xyz" cases in that function..
>
> That should obviously be equivalent, unless something strange is going on.
Yeah that's totally fine, and it's funny because that is how I did it
the other times too. When sending this out, not sure why it ended up
differently. I do think out_* is the right choice, matches the other
ones.
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] Block changes for 5.15-rc1
2021-08-30 14:32 [GIT PULL] Block changes for 5.15-rc1 Jens Axboe
2021-08-31 1:56 ` Linus Torvalds
@ 2021-08-31 2:14 ` pr-tracker-bot
1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2021-08-31 2:14 UTC (permalink / raw)
To: Jens Axboe; +Cc: Linus Torvalds, linux-block
The pull request you sent on Mon, 30 Aug 2021 08:32:27 -0600:
> git://git.kernel.dk/linux-block.git tags/for-5.15/block-2021-08-30
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/679369114e55f422dc593d0628cfde1d04ae59b3
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-08-31 2:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-30 14:32 [GIT PULL] Block changes for 5.15-rc1 Jens Axboe
2021-08-31 1:56 ` Linus Torvalds
2021-08-31 2:06 ` Jens Axboe
2021-08-31 2:14 ` pr-tracker-bot
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 NNTP newsgroup(s).