linux-stable/Documentation/device-mapper
Mike Snitzer 07f2b6e038 dm thin: ensure user takes action to validate data and metadata consistency
If a thin metadata operation fails the current transaction will abort,
whereby causing potential for IO layers up the stack (e.g. filesystems)
to have data loss.  As such, set THIN_METADATA_NEEDS_CHECK_FLAG in the
thin metadata's superblock which:
1) requires the user verify the thin metadata is consistent (e.g. use
   thin_check, etc)
2) suggests the user verify the thin data is consistent (e.g. use fsck)

The only way to clear the superblock's THIN_METADATA_NEEDS_CHECK_FLAG is
to run thin_repair.

On metadata operation failure: abort current metadata transaction, set
pool in read-only mode, and now set the needs_check flag.

As part of this change, constraints are introduced or relaxed:
* don't allow a pool to transition to write mode if needs_check is set
* don't allow data or metadata space to be resized if needs_check is set
* if a thin pool's metadata space is exhausted: the kernel will now
  force the user to take the pool offline for repair before the kernel
  will allow the metadata space to be extended.

Also, update Documentation to include information about when the thin
provisioning target commits metadata, how it handles metadata failures
and running out of space.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
2014-03-05 15:25:35 -05:00
..
cache-policies.txt dm cache policy mq: introduce three promotion threshold tunables 2014-01-07 10:14:33 -05:00
cache.txt dm thin: ensure user takes action to validate data and metadata consistency 2014-03-05 15:25:35 -05:00
delay.txt
dm-crypt.txt dm crypt: add TCW IV mode for old CBC TCRYPT containers 2013-11-09 18:20:20 -05:00
dm-flakey.txt dm flakey: add corrupt_bio_byte feature 2011-08-02 12:32:06 +01: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-raid.txt MD: Remember the last sync operation that was performed 2013-06-26 12:38:24 +10:00
dm-service-time.txt
dm-uevent.txt
kcopyd.txt
linear.txt
persistent-data.txt Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
snapshot.txt
statistics.txt dm: add statistics support 2013-09-05 20:46:06 -04:00
striped.txt dm stripe: support for non power of 2 chunksize 2012-07-27 15:08:01 +01:00
switch.txt dm: add switch target 2013-07-10 23:41:19 +01:00
thin-provisioning.txt dm thin: ensure user takes action to validate data and metadata consistency 2014-03-05 15:25:35 -05:00
verity.txt dm: verity fix documentation 2012-07-03 12:55:41 +01:00
zero.txt