aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-cache-target.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2013-10-01 18:35:39 -0400
committerMike Snitzer <snitzer@redhat.com>2013-11-09 18:20:18 -0500
commit4cb3e1db21a94781bbf05238687c3e8a715ab2f9 (patch)
treecb1f1a00806693dedcb98eec12f81a1598d36924 /drivers/md/dm-cache-target.c
parentdd8b0c2096e53b336324e99455efcc498599ba0f (diff)
dm cache: return -EINVAL if the user specifies unknown cache policy
Return -EINVAL when the specified cache policy is unknown rather than returning -ENOMEM. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-cache-target.c')
-rw-r--r--drivers/md/dm-cache-target.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 50afdf72285b..81fe85757585 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -1879,14 +1879,15 @@ static int set_config_values(struct cache *cache, int argc, const char **argv)
1879static int create_cache_policy(struct cache *cache, struct cache_args *ca, 1879static int create_cache_policy(struct cache *cache, struct cache_args *ca,
1880 char **error) 1880 char **error)
1881{ 1881{
1882 cache->policy = dm_cache_policy_create(ca->policy_name, 1882 struct dm_cache_policy *p = dm_cache_policy_create(ca->policy_name,
1883 cache->cache_size, 1883 cache->cache_size,
1884 cache->origin_sectors, 1884 cache->origin_sectors,
1885 cache->sectors_per_block); 1885 cache->sectors_per_block);
1886 if (!cache->policy) { 1886 if (IS_ERR(p)) {
1887 *error = "Error creating cache's policy"; 1887 *error = "Error creating cache's policy";
1888 return -ENOMEM; 1888 return PTR_ERR(p);
1889 } 1889 }
1890 cache->policy = p;
1890 1891
1891 return 0; 1892 return 0;
1892} 1893}