diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-07-10 19:16:43 +1000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-07-10 19:16:43 +1000 |
commit | 50bba07d6a16ce4a3b4f6abb44bfd3645c046ef6 (patch) | |
tree | c76f080377dd611857fa33f38a2b8a2af4576f8b /drivers/md/persistent-data/dm-space-map-disk.c | |
parent | a8b91e43afd736fcebb0836359e5ddaeae45b2ab (diff) | |
parent | 50fb31cfed9218b439360caf7c0399b00042da15 (diff) |
Merge branch 'merge' into next
We want to bring in the latest IRQ fixes
Diffstat (limited to 'drivers/md/persistent-data/dm-space-map-disk.c')
-rw-r--r-- | drivers/md/persistent-data/dm-space-map-disk.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/md/persistent-data/dm-space-map-disk.c b/drivers/md/persistent-data/dm-space-map-disk.c index fc469ba9f627..3d0ed5332883 100644 --- a/drivers/md/persistent-data/dm-space-map-disk.c +++ b/drivers/md/persistent-data/dm-space-map-disk.c @@ -290,7 +290,16 @@ struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm, dm_block_t nr_blocks) { struct dm_space_map *sm = dm_sm_disk_create_real(tm, nr_blocks); - return dm_sm_checker_create_fresh(sm); + struct dm_space_map *smc; + + if (IS_ERR_OR_NULL(sm)) + return sm; + + smc = dm_sm_checker_create_fresh(sm); + if (IS_ERR(smc)) + dm_sm_destroy(sm); + + return smc; } EXPORT_SYMBOL_GPL(dm_sm_disk_create); |