WSL2-Linux-Kernel/Documentation/device-mapper
Andy Grover 63c8ecb626 dm thin: include metadata_low_watermark threshold in pool status
The metadata low watermark threshold is set by the kernel.  But the
kernel depends on userspace to extend the thinpool metadata device when
the threshold is crossed.

Since the metadata low watermark threshold is not visible to userspace,
upon receiving an event, userspace cannot tell that the kernel wants the
metadata device extended, instead of some other eventing condition.
Making it visible (but not settable) enables userspace to affirmatively
know the kernel is asking for a metadata device extension, by comparing
metadata_low_watermark against nr_free_blocks_metadata, also reported in
status.

Current solutions like dmeventd have their own thresholds for extending
the data and metadata devices, and both devices are checked against
their thresholds on each event.  This lessens the value of the kernel-set
threshold, since userspace will either extend the metadata device sooner,
when receiving another event; or will receive the metadata lowater event
and do nothing, if dmeventd's threshold is less than the kernel's.
(This second case is dangerous. The metadata lowater event will not be
re-sent, so no further event will be generated before the metadata
device is out if space, unless some other event causes userspace to
recheck its thresholds.)

Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2018-07-30 11:49:08 -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: Documentation: update default migration_throttling value 2018-01-30 16:55:47 -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-flakey.txt block: rename bio bi_rw to bi_opf 2016-08-07 14:41:02 -06:00
dm-integrity.txt dm integrity: recalculate checksums on creation 2018-07-27 15:24:27 -04:00
dm-io.txt
dm-log.txt
dm-queue-length.txt
dm-raid.txt dm raid: stop keeping raid set frozen altogether 2017-12-13 11:52:02 -05:00
dm-service-time.txt
dm-uevent.txt
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, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH 2016-06-07 13:41:38 -06:00
persistent-data.txt
snapshot.txt dm snapshot: improve documentation relative to origin suspend requirements 2018-01-17 09:16:06 -05: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