• Linus Torvalds's avatar
    Merge tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 140dfc92
    Linus Torvalds authored
    Pull device mapper updates from Mike Snitzer:
    
     - Significant DM thin-provisioning performance improvements to meet
       performance requirements that were requested by the Gluster
       distributed filesystem.
    
       Specifically, dm-thinp now takes care to aggregate IO that will be
       issued to the same thinp block before issuing IO to the underlying
       devices.  This really helps improve performance on HW RAID6 devices
       that have a writeback cache because it avoids RMW in the HW RAID
       controller.
    
     - Some stable fixes: fix leak in DM bufio if integrity profiles were
       enabled, use memzero_explicit in DM crypt to avoid any potential for
       information leak, and a DM cache fix to properly mark a cache block
       dirty if it was promoted to the cache via the overwrite optimization.
    
     - A few simple DM persistent data library fixes
    
     - DM cache multiqueue policy block promotion improvements.
    
     - DM cache discard improvements that take advantage of range
       (multiblock) discard support in the DM bio-prison.  This allows for
       much more efficient bulk discard processing (e.g.  when mkfs.xfs
       discards the entire device).
    
     - Some small optimizations in DM core and RCU deference cleanups
    
     - DM core changes to suspend/resume code to introduce the new internal
       suspend/resume interface that the DM thin-pool target now uses to
       suspend/resume active thin devices when the thin-pool must
       suspend/resume.
    
       This avoids forcing userspace to track all active thin volumes in a
       thin-pool when the thin-pool is suspended for the purposes of
       metadata or data space resize.
    
    * tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (49 commits)
      dm crypt: use memzero_explicit for on-stack buffer
      dm space map metadata: fix sm_bootstrap_get_count()
      dm space map metadata: fix sm_bootstrap_get_nr_blocks()
      dm bufio: fix memleak when using a dm_buffer's inline bio
      dm cache: fix spurious cell_defer when dealing with partial block at end of device
      dm cache: dirty flag was mistakenly being cleared when promoting via overwrite
      dm cache: only use overwrite optimisation for promotion when in writeback mode
      dm cache: discard block size must be a multiple of cache block size
      dm cache: fix a harmless race when working out if a block is discarded
      dm cache: when reloading a discard bitset allow for a different discard block size
      dm cache: fix some issues with the new discard range support
      dm array: if resizing the array is a noop set the new root to the old one
      dm: use rcu_dereference_protected instead of rcu_dereference
      dm thin: fix pool_io_hints to avoid looking at max_hw_sectors
      dm thin: suspend/resume active thin devices when reloading thin-pool
      dm: enhance internal suspend and resume interface
      dm thin: do not allow thin device activation while pool is suspended
      dm: add presuspend_undo hook to target_type
      dm: return earlier from dm_blk_ioctl if target doesn't implement .ioctl
      dm thin: remove stale 'trim' message in block comment above pool_message
      ...
    140dfc92
dm-bufio.c 46.1 KB