dm thin metadata: introduce dm_pool_abort_metadata
authorJoe Thornber <ejt@redhat.com>
Fri, 27 Jul 2012 14:08:15 +0000 (15:08 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Fri, 27 Jul 2012 14:08:15 +0000 (15:08 +0100)
commitda105ed5fd7edcc5e0df7dbacef4dadda74e7ebe
tree2db9643e499e9bc9d38c7ccc4a00e01d875150c7
parent12ba58af46e5973822f1cfaaf5f29a2a17a523bf
dm thin metadata: introduce dm_pool_abort_metadata

Introduce dm_pool_abort_metadata to abort the current metadata
transaction.  Generally this will only be called when bad things are
happening and dm-thin is trying to roll back to a good state for
read-only mode.

It's complicated by the fact that the metadata device may have failed
completely causing the abort to be unable to read the old transaction.
In this case the metadata object is placed in a 'fail' mode and
everything fails apart from destroying it.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-thin-metadata.c
drivers/md/dm-thin-metadata.h