From ac8c3f3df65e487bbcabf274eeeb9cd222f5da1e Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Fri, 10 May 2013 14:37:21 +0100 Subject: dm thin: generate event when metadata threshold passed Generate a dm event when the amount of remaining thin pool metadata space falls below a certain level. The threshold is taken to be a quarter of the size of the metadata device with a minimum threshold of 4MB. Signed-off-by: Joe Thornber Signed-off-by: Alasdair G Kergon --- drivers/md/dm-thin-metadata.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/md/dm-thin-metadata.c') diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c index f553ed66603c..60bce435f4fa 100644 --- a/drivers/md/dm-thin-metadata.c +++ b/drivers/md/dm-thin-metadata.c @@ -1696,3 +1696,17 @@ void dm_pool_metadata_read_only(struct dm_pool_metadata *pmd) dm_bm_set_read_only(pmd->bm); up_write(&pmd->root_lock); } + +int dm_pool_register_metadata_threshold(struct dm_pool_metadata *pmd, + dm_block_t threshold, + dm_sm_threshold_fn fn, + void *context) +{ + int r; + + down_write(&pmd->root_lock); + r = dm_sm_register_threshold_callback(pmd->metadata_sm, threshold, fn, context); + up_write(&pmd->root_lock); + + return r; +} -- cgit v1.2.3