linux-hardened/Documentation/device-mapper
Mike Snitzer 2e6023850e dm snapshot: add optional discard support features
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.

When these 2 features are enabled they allow a temporarily read-only
device that has completely exhausted its free space to recover space.
To do so dm-snapshot provides temporary buffer to accommodate writes
that the temporarily read-only device cannot handle yet.  Once the upper
layer frees space (e.g. fstrim to XFS) the discards issued to the
dm-snapshot target will be issued to underlying read-only device whose
free space was exhausted.  In addition those discards will also cause
zeroes to be written to the snapshot exception store if corresponding
exceptions exist.  If the underlying origin device provides
deduplication for zero blocks then if/when the snapshot is merged backed
to the origin those blocks will become unused.  Once the origin has
gained adequate space, merging the snapshot back to the thinly
provisioned device will permit continued use of that device without the
temporary space provided by the snapshot.

Requested-by: John Dorminy <jdorminy@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-07-12 09:59:36 -04:00
..
cache-policies.txt dm cache: fix grammar in cache-policies.txt 2018-01-17 09:16:07 -05:00
cache.txt dm cache: add support for discard passdown to the origin device 2019-03-05 14:53:52 -05:00
delay.txt dm delay: add flush as a third class of IO 2018-07-27 15:24:19 -04:00
dm-crypt.txt dm crypt: optionally support larger encryption sector size 2017-03-24 15:54:21 -04:00
dm-dust.txt dm: add dust target 2019-04-30 16:37:19 -04:00
dm-flakey.txt dm flakey: Document "error_writes" feature 2018-10-12 11:31:39 -06:00
dm-init.txt dm: add support to directly boot to a mapped device 2019-03-05 14:53:50 -05:00
dm-integrity.txt dm integrity: add a bitmap mode 2019-05-08 13:41:58 -04:00
dm-io.txt
dm-log.txt dm log userspace: fix comment hyphens 2011-10-31 20:21:22 +00:00
dm-queue-length.txt dm mpath: add queue length load balancer 2009-06-22 10:12:27 +01:00
dm-raid.txt Documentation: Use "while" instead of "whilst" 2018-11-20 09:30:43 -07:00
dm-service-time.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
dm-uevent.txt dm: uevent generate events 2007-10-20 02:01:26 +01:00
dm-zoned.txt dm zoned: drive-managed zoned block device target 2017-06-19 11:05:20 -04:00
era.txt dm: add era target 2014-03-27 16:56:23 -04:00
kcopyd.txt
linear.txt Documentation/device-mapper: s/getsize/getsz/ 2016-12-14 10:54:27 +01:00
log-writes.txt block: Finish renaming REQ_DISCARD into REQ_OP_DISCARD 2018-10-03 16:12:28 -06:00
persistent-data.txt Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
snapshot.txt dm snapshot: add optional discard support features 2019-07-12 09:59:36 -04:00
statistics.txt dm stats: fix spelling mistake in Documentation 2016-05-05 15:25:54 -04:00
striped.txt Documentation/device-mapper: s/getsize/getsz/ 2016-12-14 10:54:27 +01:00
switch.txt Documentation/device-mapper: s/getsize/getsz/ 2016-12-14 10:54:27 +01:00
thin-provisioning.txt dm thin: include metadata_low_watermark threshold in pool status 2018-07-30 11:49:08 -04:00
unstriped.txt dm: add unstriped target 2018-01-17 09:16:00 -05:00
verity.txt dm verity: add 'check_at_most_once' option to only validate hashes once 2018-04-03 15:04:29 -04:00
writecache.txt dm writecache: support optional offset for start of device 2018-07-02 16:14:02 -04:00
zero.txt