From: Linus Torvalds Date: Sat, 13 Jul 2019 22:24:31 +0000 (-0700) Subject: Merge tag 'for-5.3/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/devic... X-Git-Tag: v5.3-rc1~99 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2260840592fbed5be98ca03c97eb8172941f27ac;p=users%2Fdwmw2%2Flinux.git Merge tag 'for-5.3/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: - Add encrypted byte-offset initialization vector (eboiv) to DM crypt. - Add optional discard features to DM snapshot which allow freeing space from a DM device whose free space was exhausted. - Various small improvements to use struct_size() and kzalloc(). - Fix to check if DM thin metadata is in fail_io mode before attempting to update the superblock to set the needs_check flag. Otherwise the DM thin-pool can hang. - Fix DM bufio shrinker's potential for ABBA recursion deadlock with DM thin provisioning on loop usecase. * tag 'for-5.3/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm bufio: fix deadlock with loop device dm snapshot: add optional discard support features dm crypt: implement eboiv - encrypted byte-offset initialization vector dm crypt: remove obsolete comment about plumb IV dm crypt: wipe private IV struct after key invalid flag is set dm integrity: use kzalloc() instead of kmalloc() + memset() dm: update stale comment in end_clone_bio() dm log writes: fix incorrect comment about the logged sequence example dm log writes: use struct_size() to calculate size of pending_block dm crypt: use struct_size() when allocating encryption context dm integrity: always set version on superblock update dm thin metadata: check if in fail_io mode when setting needs_check --- 2260840592fbed5be98ca03c97eb8172941f27ac diff --cc Documentation/device-mapper/snapshot.rst index 4c53304e72f1b,1810833f6dc64..ccdd8b587a74f --- a/Documentation/device-mapper/snapshot.rst +++ b/Documentation/device-mapper/snapshot.rst @@@ -31,7 -30,8 +31,8 @@@ original data will be saved in the fills up. -*) snapshot +- snapshot + [<# feature args> []*] A snapshot of the block device is created. Changed chunks of sectors will be stored on the . Writes will @@@ -54,8 -54,23 +55,23 @@@ When loading or unloading the snapshot snapshot-origin or snapshot-merge target must be suspended. A failure to suspend the origin target could result in data corruption. + Optional features: - * snapshot-merge + discard_zeroes_cow - a discard issued to the snapshot device that + maps to entire chunks to will zero the corresponding exception(s) in + the snapshot's exception store. + + discard_passdown_origin - a discard to the snapshot device is passed + down to the snapshot-origin's underlying device. This doesn't cause + copy-out to the snapshot exception store because the snapshot-origin + target is bypassed. + + The discard_passdown_origin feature depends on the discard_zeroes_cow + feature being enabled. + + -* snapshot-merge - [<# feature args> []*] ++- snapshot-merge ++ [<# feature args> []*] takes the same table arguments as the snapshot target except it only works with persistent snapshots. This target assumes the role of the