dm space map metadata: fix sm_bootstrap_get_nr_blocks()
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 29 Nov 2014 12:50:21 +0000 (15:50 +0300)
committerMike Snitzer <snitzer@redhat.com>
Mon, 1 Dec 2014 16:31:58 +0000 (11:31 -0500)
This function isn't right and it causes a static checker warning:

drivers/md/dm-thin.c:3016 maybe_resize_data_dev()
error: potentially using uninitialized 'sb_data_size'.

It should set "*count" and return zero on success the same as the
sm_metadata_get_nr_blocks() function does earlier.

Fixes: 3241b1d3e0aa ('dm: add persistent data library')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/persistent-data/dm-space-map-metadata.c

index 786b689bdfc7fe0c42d9a651a2369ffadcdc2382..f4e22bcc7fb8c6ad79d20cbb03e82093ed5a7d13 100644 (file)
@@ -564,7 +564,9 @@ static int sm_bootstrap_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count
 {
        struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
 
-       return smm->ll.nr_blocks;
+       *count = smm->ll.nr_blocks;
+
+       return 0;
 }
 
 static int sm_bootstrap_get_nr_free(struct dm_space_map *sm, dm_block_t *count)