[dm-devel] [git pull] device mapper changes for 5.18
Mike Snitzer
snitzer at redhat.com
Wed Mar 23 20:38:49 UTC 2022
Hi Linus,
These changes build on Jens' for-5.18 block tree because of various
changes that impacted DM and DM's need for bio_start_io_acct_time().
The following changes since commit bcd2be763252f3a4d5fc4d6008d4d96c601ee74b:
block/bfq_wf2q: correct weight to ioprio (2022-02-16 20:09:14 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-5.18/dm-changes
for you to fetch changes up to 4d7bca13dd9a5033174b0735056c5658cb893e76:
dm: consolidate spinlocks in dm_io struct (2022-03-21 14:15:36 -0400)
Please pull, thanks.
Mike
----------------------------------------------------------------
- Significant refactoring and fixing of how DM core does bio-based IO
accounting with focus on fixing wildly inaccurate IO stats for
dm-crypt (and other DM targets that defer bio submission in their
own workqueues). End result is proper IO accounting, made possible
by targets being updated to use the new dm_submit_bio_remap()
interface.
- Add hipri bio polling support (REQ_POLLED) to bio-based DM.
- Reduce dm_io and dm_target_io structs so that a single dm_io (which
contains dm_target_io and first clone bio) weighs in at 256 bytes.
For reference the bio struct is 128 bytes.
- Various other small cleanups, fixes or improvements in DM core and
targets.
- Update MAINTAINERS with my kernel.org email address to allow
distinction between my "upstream" and "Red" Hats.
----------------------------------------------------------------
Aashish Sharma (1):
dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
Barry Song (1):
dm io: remove stale comment block for dm_io()
Christoph Hellwig (2):
dm-zoned: remove the ->name field in struct dmz_dev
dm: stop using bdevname
Colin Ian King (1):
dm cache policy smq: make static read-only array table const
Jordy Zomer (1):
dm ioctl: prevent potential spectre v1 gadget
Kirill Tkhai (1):
dm: fix use-after-free in dm_cleanup_zoned_dev()
Mike Snitzer (33):
dm: interlock pending dm_io and dm_wait_for_bios_completion
dm: fix double accounting of flush with data
dm stats: fix too short end duration_ns when using precise_timestamps
dm: eliminate copying of dm_io fields in dm_io_dec_pending
dm: reorder members in mapped_device struct
dm: rename split functions
dm: fold __clone_and_map_data_bio into __split_and_process_bio
dm: refactor dm_split_and_process_bio a bit
dm: reduce code duplication in __map_bio
dm: remove impossible BUG_ON in __send_empty_flush
dm: remove unused mapped_device argument from free_tio
dm: remove legacy code only needed before submit_bio recursion
dm: record old_sector in dm_target_io before calling map function
dm: move duplicate code from callers of alloc_tio into alloc_tio
dm: reduce dm_io and dm_target_io struct sizes
dm: flag clones created by __send_duplicate_bios
dm: add dm_submit_bio_remap interface
dm crypt: use dm_submit_bio_remap
dm delay: use dm_submit_bio_remap
dm: requeue IO if mapping table not yet available
dm: remove unnecessary local variables in __bind
dm mpath: use DMINFO instead of printk with KERN_INFO
dm: add WARN_ON_ONCE to dm_submit_bio_remap
dm thin: use dm_submit_bio_remap
dm: simplify dm_sumbit_bio_remap interface
dm cache: use dm_submit_bio_remap
dm: factor out dm_io_complete
dm: return void from __send_empty_flush
dm: update email address in MAINTAINERS
dm: switch dm_io booleans over to proper flags
dm: switch dm_target_io booleans over to proper flags
dm: reduce size of dm_io and dm_target_io structs
dm: consolidate spinlocks in dm_io struct
Ming Lei (2):
block: add ->poll_bio to block_device_operations
dm: support bio polling
Thore Sommer (1):
dm ima: fix wrong length calculation for no_data string
Tom Rix (1):
dm: cleanup double word in comment
Wang Qing (1):
dm thin: use time_is_before_jiffies instead of open coding it
Zhiqiang Liu (1):
dm thin metadata: remove unused dm_thin_remove_block and __remove
MAINTAINERS | 2 +-
block/blk-core.c | 14 +-
block/genhd.c | 4 +
drivers/md/dm-cache-policy-smq.c | 4 +-
drivers/md/dm-cache-target.c | 17 +-
drivers/md/dm-clone-target.c | 10 +-
drivers/md/dm-core.h | 99 ++++--
drivers/md/dm-crypt.c | 15 +-
drivers/md/dm-delay.c | 5 +-
drivers/md/dm-ima.c | 6 +-
drivers/md/dm-io.c | 8 -
drivers/md/dm-ioctl.c | 2 +
drivers/md/dm-mpath.c | 5 +-
drivers/md/dm-rq.c | 7 +-
drivers/md/dm-stats.c | 34 +-
drivers/md/dm-stats.h | 11 +-
drivers/md/dm-table.c | 57 +++-
drivers/md/dm-thin-metadata.c | 28 --
drivers/md/dm-thin-metadata.h | 1 -
drivers/md/dm-thin.c | 15 +-
drivers/md/dm-zoned-metadata.c | 4 +-
drivers/md/dm-zoned-target.c | 1 -
drivers/md/dm-zoned.h | 9 +-
drivers/md/dm.c | 673 ++++++++++++++++++++++++++-------------
include/linux/blkdev.h | 2 +
include/linux/device-mapper.h | 9 +-
include/uapi/linux/dm-ioctl.h | 4 +-
27 files changed, 685 insertions(+), 361 deletions(-)
More information about the dm-devel
mailing list