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)
committerJiri Slaby <jslaby@suse.cz>
Wed, 7 Jan 2015 15:24:10 +0000 (16:24 +0100)
commit c1c6156fe4d4577444b769d7edd5dd503e57bbc9 upstream.

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>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/md/persistent-data/dm-space-map-metadata.c

index 579b58200bf2696c5d2f9089e32f69012f1e301b..d9a5aa53201790b051d8aefb77f927ba3648b216 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)