linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).