summaryrefslogtreecommitdiffstats
path: root/drivers/md/persistent-data/dm-block-manager.c
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2013-12-04 16:58:19 -0500
committerMike Snitzer <snitzer@redhat.com>2013-12-10 16:35:13 -0500
commit9b7aaa64f96f7ca280d75326fca42f42017b89ef (patch)
treea0028aeb56bc229e9bc7b1dfcecbb3f03d213131 /drivers/md/persistent-data/dm-block-manager.c
parent5383ef3a929a1366e2ced45cd6d74be7aa2a2281 (diff)
dm thin: allow pool in read-only mode to transition to read-write mode
A thin-pool may be in read-only mode because the pool's data or metadata space was exhausted. To allow for recovery, by adding more space to the pool, we must allow a pool to transition from PM_READ_ONLY to PM_WRITE mode. Otherwise, running out of space will render the pool permanently read-only. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/md/persistent-data/dm-block-manager.c')
-rw-r--r--drivers/md/persistent-data/dm-block-manager.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c
index a7e8bf296388..064a3c271baa 100644
--- a/drivers/md/persistent-data/dm-block-manager.c
+++ b/drivers/md/persistent-data/dm-block-manager.c
@@ -626,6 +626,12 @@ void dm_bm_set_read_only(struct dm_block_manager *bm)
}
EXPORT_SYMBOL_GPL(dm_bm_set_read_only);
+void dm_bm_set_read_write(struct dm_block_manager *bm)
+{
+ bm->read_only = false;
+}
+EXPORT_SYMBOL_GPL(dm_bm_set_read_write);
+
u32 dm_bm_checksum(const void *data, size_t len, u32 init_xor)
{
return crc32c(~(u32) 0, data, len) ^ init_xor;