diff options
Diffstat (limited to 'drivers/md/dm-cache-policy.c')
| -rw-r--r-- | drivers/md/dm-cache-policy.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/md/dm-cache-policy.c b/drivers/md/dm-cache-policy.c index 21c03c570c0..c1a3cee99b4 100644 --- a/drivers/md/dm-cache-policy.c +++ b/drivers/md/dm-cache-policy.c @@ -119,13 +119,13 @@ struct dm_cache_policy *dm_cache_policy_create(const char *name,  	type = get_policy(name);  	if (!type) {  		DMWARN("unknown policy type"); -		return NULL; +		return ERR_PTR(-EINVAL);  	}  	p = type->create(cache_size, origin_size, cache_block_size);  	if (!p) {  		put_policy(type); -		return NULL; +		return ERR_PTR(-ENOMEM);  	}  	p->private = type; @@ -146,6 +146,10 @@ const char *dm_cache_policy_get_name(struct dm_cache_policy *p)  {  	struct dm_cache_policy_type *t = p->private; +	/* if t->real is set then an alias was used (e.g. "default") */ +	if (t->real) +		return t->real->name; +  	return t->name;  }  EXPORT_SYMBOL_GPL(dm_cache_policy_get_name);  | 
