Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5383ef3a authored by Joe Thornber's avatar Joe Thornber Committed by Mike Snitzer
Browse files

dm thin: re-establish read-only state when switching to fail mode



If the thin-pool transitioned to fail mode and the thin-pool's table
were reloaded for some reason: the new table's default pool mode would
be read-write, though it will transition to fail mode during resume.

When the pool mode transitions directly from PM_WRITE to PM_FAIL we need
to re-establish the intermediate read-only state in both the metadata
and persistent-data block manager (as is usually done with the normal
pool mode transition sequence: PM_WRITE -> PM_READ_ONLY -> PM_FAIL).

Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
parent 020cc3b5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1400,6 +1400,7 @@ static void set_pool_mode(struct pool *pool, enum pool_mode mode)
	case PM_FAIL:
		DMERR("%s: switching pool to failure mode",
		      dm_device_name(pool->pool_md));
		dm_pool_metadata_read_only(pool->pmd);
		pool->process_bio = process_bio_fail;
		pool->process_discard = process_bio_fail;
		pool->process_prepared_mapping = process_prepared_mapping_fail;