[dm-devel] [PATCH 13/13] dm thin: pre-commit in pool_status so it provides accurate free block counts
Mike Snitzer
snitzer at redhat.com
Wed Feb 29 14:50:17 UTC 2012
From: Heinz Mauelshagen <heinzm at redhat.com>
If we're in the middle of a transaction the free block counts can be
quite out of date, so do a quick commit to update them.
Signed-off-by: Heinz Mauelshagen <heinzm at redhat.com>
Signed-off-by: Joe Thornber <thornber at redhat.com>
Acked-by: Mike Snitzer <snitzer at redhat.com>
---
drivers/md/dm-thin.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 2e16b3a..2b1d5bd 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -2343,6 +2343,15 @@ static int pool_status(struct dm_target *ti, status_type_t type,
if (r)
return r;
+ /*
+ * If we're in the middle of a transaction the free block
+ * counts can be quite out of date, so we do a quick
+ * commit.
+ */
+ r = dm_pool_commit_metadata(pool->pmd);
+ if (r)
+ return r;
+
r = dm_pool_get_free_metadata_block_count(pool->pmd,
&nr_free_blocks_metadata);
if (r)
--
1.7.1
More information about the dm-devel
mailing list