• Linus Torvalds's avatar
    Merge tag 'for-5.9/dm-changes' of... · 2f12d440
    Linus Torvalds authored
    Merge tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
    
    Pull device mapper updates from Mike Snitzer:
    
     - DM multipath locking fixes around m->flags tests and improvements to
       bio-based code so that it follows patterns established by
       request-based code.
    
     - Request-based DM core improvement to eliminate unnecessary call to
       blk_mq_queue_stopped().
    
     - Add "panic_on_corruption" error handling mode to DM verity target.
    
     - DM bufio fix to to perform buffer cleanup from a workqueue rather
       than wait for IO in reclaim context from shrinker.
    
     - DM crypt improvement to optionally avoid async processing via
       workqueues for reads and/or writes -- via "no_read_workqueue" and
       "no_write_workqueue" features. This more direct IO processing
       improves latency and throughput with faster storage. Avoiding
       workqueue IO submission for writes (DM_CRYPT_NO_WRITE_WORKQUEUE) is a
       requirement for adding zoned block device support to DM crypt.
    
     - Add zoned block device support to DM crypt. Makes use of
       DM_CRYPT_NO_WRITE_WORKQUEUE and a new optional feature
       (DM_CRYPT_WRITE_INLINE) that allows write completion to wait for
       encryption to complete. This allows write ordering to be preserved,
       which is needed for zoned block devices.
    
     - Fix DM ebs target's check for REQ_OP_FLUSH.
    
     - Fix DM core's report zones support to not report more zones than were
       requested.
    
     - A few small compiler warning fixes.
    
     - DM dust improvements to return output directly to the user rather
       than require they scrape the system log for output.
    
    * tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm: don't call report zones for more than the user requested
      dm ebs: Fix incorrect checking for REQ_OP_FLUSH
      dm init: Set file local variable static
      dm ioctl: Fix compilation warning
      dm raid: Remove empty if statement
      dm verity: Fix compilation warning
      dm crypt: Enable zoned block device support
      dm crypt: add flags to optionally bypass kcryptd workqueues
      dm bufio: do buffer cleanup from a workqueue
      dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
      dm dust: add interface to list all badblocks
      dm dust: report some message results directly back to user
      dm verity: add "panic_on_corruption" error handling mode
      dm mpath: use double checked locking in fast path
      dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl
      dm mpath: rework __map_bio()
      dm mpath: factor out multipath_queue_bio
      dm mpath: push locking down to must_push_back_rq()
      dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH
      dm mpath: changes from initial m->flags locking audit
    2f12d440
dm-mpath.c 54.2 KB