diff options
Diffstat (limited to 'mm/backing-dev.c')
| -rw-r--r-- | mm/backing-dev.c | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/mm/backing-dev.c b/mm/backing-dev.c index c81b4f3a7268..efc5b83acd2d 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -21,7 +21,7 @@ struct backing_dev_info noop_backing_dev_info = {  EXPORT_SYMBOL_GPL(noop_backing_dev_info);  static struct class *bdi_class; -const char *bdi_unknown_name = "(unknown)"; +static const char *bdi_unknown_name = "(unknown)";  /*   * bdi_lock protects bdi_tree and updates to bdi_list. bdi_list has RCU @@ -938,7 +938,8 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)  	if (bdi->dev)	/* The driver needs to use separate queues per device */  		return 0; -	dev = device_create_vargs(bdi_class, NULL, MKDEV(0, 0), bdi, fmt, args); +	vsnprintf(bdi->dev_name, sizeof(bdi->dev_name), fmt, args); +	dev = device_create(bdi_class, NULL, MKDEV(0, 0), bdi, bdi->dev_name);  	if (IS_ERR(dev))  		return PTR_ERR(dev); @@ -1043,6 +1044,14 @@ void bdi_put(struct backing_dev_info *bdi)  }  EXPORT_SYMBOL(bdi_put); +const char *bdi_dev_name(struct backing_dev_info *bdi) +{ +	if (!bdi || !bdi->dev) +		return bdi_unknown_name; +	return bdi->dev_name; +} +EXPORT_SYMBOL_GPL(bdi_dev_name); +  static wait_queue_head_t congestion_wqh[2] = {  		__WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[0]),  		__WAIT_QUEUE_HEAD_INITIALIZER(congestion_wqh[1]) |