mirror of https://gitee.com/openkylin/linux.git
dm cache: avoid calling policy destructor twice on error
If the cache policy's config values are not able to be set we must set the policy to NULL after destroying it in create_cache_policy() so we don't attempt to destroy it a second time later. Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
617a0b89da
commit
b978440b8d
|
@ -1763,8 +1763,11 @@ static int create_cache_policy(struct cache *cache, struct cache_args *ca,
|
||||||
}
|
}
|
||||||
|
|
||||||
r = set_config_values(cache->policy, ca->policy_argc, ca->policy_argv);
|
r = set_config_values(cache->policy, ca->policy_argc, ca->policy_argv);
|
||||||
if (r)
|
if (r) {
|
||||||
|
*error = "Error setting cache policy's config values";
|
||||||
dm_cache_policy_destroy(cache->policy);
|
dm_cache_policy_destroy(cache->policy);
|
||||||
|
cache->policy = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue