summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-era-target.c
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2014-03-11 17:46:25 +0100
committerMike Snitzer <snitzer@redhat.com>2014-06-03 19:44:08 +0200
commit989f26f5ad308f40a95f280bf9cd75e558d4f18d (patch)
tree035bb4d59ddecce5f2f4f6d868f571cc056ea7d0 /drivers/md/dm-era-target.c
parentdm thin: return ENOSPC instead of EIO when error_if_no_space enabled (diff)
downloadlinux-989f26f5ad308f40a95f280bf9cd75e558d4f18d.tar.xz
linux-989f26f5ad308f40a95f280bf9cd75e558d4f18d.zip
dm era: check for a non-NULL metadata object before closing it
era_ctr() may call era_destroy() before era->md is initialized so era_destory() must only close the metadata object if it is not NULL. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Naohiro Aota <naota@elisp.net> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 3.15+
Diffstat (limited to 'drivers/md/dm-era-target.c')
-rw-r--r--drivers/md/dm-era-target.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/dm-era-target.c b/drivers/md/dm-era-target.c
index 414dad4cb49b..ad913cd4aded 100644
--- a/drivers/md/dm-era-target.c
+++ b/drivers/md/dm-era-target.c
@@ -1391,7 +1391,8 @@ static int era_is_congested(struct dm_target_callbacks *cb, int bdi_bits)
static void era_destroy(struct era *era)
{
- metadata_close(era->md);
+ if (era->md)
+ metadata_close(era->md);
if (era->wq)
destroy_workqueue(era->wq);