diff options
author | Joe Thornber <ejt@redhat.com> | 2018-09-10 16:50:09 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2018-09-10 17:03:18 -0400 |
commit | 3ab91828166895600efd9cdc3a0eb32001f7204a (patch) | |
tree | b0a357366b35d36d697c8f6f1d2f6fede0074b63 /usr | |
parent | 5380c05b682991a6818c3755d450a3e87eeac0e5 (diff) | |
download | linux-stable-3ab91828166895600efd9cdc3a0eb32001f7204a.tar.gz linux-stable-3ab91828166895600efd9cdc3a0eb32001f7204a.tar.bz2 linux-stable-3ab91828166895600efd9cdc3a0eb32001f7204a.zip |
dm thin metadata: try to avoid ever aborting transactions
Committing a transaction can consume some metadata of it's own, we now
reserve a small amount of metadata to cover this. Free metadata
reported by the kernel will not include this reserve.
If any of the reserve has been used after a commit we enter a new
internal state PM_OUT_OF_METADATA_SPACE. This is reported as
PM_READ_ONLY, so no userland changes are needed. If the metadata
device is resized the pool will move back to PM_WRITE.
These changes mean we never need to abort and rollback a transaction due
to running out of metadata space. This is particularly important
because there have been a handful of reports of data corruption against
DM thin-provisioning that can all be attributed to the thin-pool having
ran out of metadata space.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions