All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] add error handle for bdi debugfs register
@ 2017-10-31 10:37 ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:37 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

Hello,

Change since V1:
 * remove the patch for bdi_debug_init(), because patch1 add a check
   for bdi_debug_root
 * remove bdi_put in bdi_register, this functions has two callers:
caller1: mtd_bdi_init->bdi_register, bdi_put if register fail
caller2: device_add_disk->bdi_register_owner->bdi_register, this call
stack need more safety cleanup, so patch3 add an WARN_ON.

weiping zhang (3):
  bdi: convert bdi_debug_register to int
  bdi: add error handle for bdi_debug_register
  block: add WARN_ON if bdi register fail

 block/genhd.c    |  2 +-
 mm/backing-dev.c | 22 +++++++++++++++++++---
 2 files changed, 20 insertions(+), 4 deletions(-)

-- 
2.14.2

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 0/3] add error handle for bdi debugfs register
@ 2017-10-31 10:37 ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:37 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

Hello,

Change since V1:
 * remove the patch for bdi_debug_init(), because patch1 add a check
   for bdi_debug_root
 * remove bdi_put in bdi_register, this functions has two callers:
caller1: mtd_bdi_init->bdi_register, bdi_put if register fail
caller2: device_add_disk->bdi_register_owner->bdi_register, this call
stack need more safety cleanup, so patch3 add an WARN_ON.

weiping zhang (3):
  bdi: convert bdi_debug_register to int
  bdi: add error handle for bdi_debug_register
  block: add WARN_ON if bdi register fail

 block/genhd.c    |  2 +-
 mm/backing-dev.c | 22 +++++++++++++++++++---
 2 files changed, 20 insertions(+), 4 deletions(-)

-- 
2.14.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 1/3] bdi: convert bdi_debug_register to int
  2017-10-31 10:37 ` weiping zhang
@ 2017-10-31 10:37   ` weiping zhang
  -1 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:37 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

Convert bdi_debug_register to int and then do error handle for it.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 mm/backing-dev.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 74b52dfd5852..b5f940ce0143 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -113,11 +113,23 @@ static const struct file_operations bdi_debug_stats_fops = {
 	.release	= single_release,
 };
 
-static void bdi_debug_register(struct backing_dev_info *bdi, const char *name)
+static int bdi_debug_register(struct backing_dev_info *bdi, const char *name)
 {
+	if (!bdi_debug_root)
+		return -ENOMEM;
+
 	bdi->debug_dir = debugfs_create_dir(name, bdi_debug_root);
+	if (!bdi->debug_dir)
+		return -ENOMEM;
+
 	bdi->debug_stats = debugfs_create_file("stats", 0444, bdi->debug_dir,
 					       bdi, &bdi_debug_stats_fops);
+	if (!bdi->debug_stats) {
+		debugfs_remove(bdi->debug_dir);
+		return -ENOMEM;
+	}
+
+	return 0;
 }
 
 static void bdi_debug_unregister(struct backing_dev_info *bdi)
@@ -129,9 +141,10 @@ static void bdi_debug_unregister(struct backing_dev_info *bdi)
 static inline void bdi_debug_init(void)
 {
 }
-static inline void bdi_debug_register(struct backing_dev_info *bdi,
+static inline int bdi_debug_register(struct backing_dev_info *bdi,
 				      const char *name)
 {
+	return 0;
 }
 static inline void bdi_debug_unregister(struct backing_dev_info *bdi)
 {
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 1/3] bdi: convert bdi_debug_register to int
@ 2017-10-31 10:37   ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:37 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

Convert bdi_debug_register to int and then do error handle for it.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 mm/backing-dev.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 74b52dfd5852..b5f940ce0143 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -113,11 +113,23 @@ static const struct file_operations bdi_debug_stats_fops = {
 	.release	= single_release,
 };
 
-static void bdi_debug_register(struct backing_dev_info *bdi, const char *name)
+static int bdi_debug_register(struct backing_dev_info *bdi, const char *name)
 {
+	if (!bdi_debug_root)
+		return -ENOMEM;
+
 	bdi->debug_dir = debugfs_create_dir(name, bdi_debug_root);
+	if (!bdi->debug_dir)
+		return -ENOMEM;
+
 	bdi->debug_stats = debugfs_create_file("stats", 0444, bdi->debug_dir,
 					       bdi, &bdi_debug_stats_fops);
+	if (!bdi->debug_stats) {
+		debugfs_remove(bdi->debug_dir);
+		return -ENOMEM;
+	}
+
+	return 0;
 }
 
 static void bdi_debug_unregister(struct backing_dev_info *bdi)
@@ -129,9 +141,10 @@ static void bdi_debug_unregister(struct backing_dev_info *bdi)
 static inline void bdi_debug_init(void)
 {
 }
-static inline void bdi_debug_register(struct backing_dev_info *bdi,
+static inline int bdi_debug_register(struct backing_dev_info *bdi,
 				      const char *name)
 {
+	return 0;
 }
 static inline void bdi_debug_unregister(struct backing_dev_info *bdi)
 {
-- 
2.14.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
  2017-10-31 10:37 ` weiping zhang
@ 2017-10-31 10:38   ` weiping zhang
  -1 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:38 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

In order to make error handle more cleaner we call bdi_debug_register
before set state to WB_registered, that we can avoid call bdi_unregister
in release_bdi().

Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 mm/backing-dev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index b5f940ce0143..84b2dc76f140 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
 	if (IS_ERR(dev))
 		return PTR_ERR(dev);
 
+	if (bdi_debug_register(bdi, dev_name(dev))) {
+		device_destroy(bdi_class, dev->devt);
+		return -ENOMEM;
+	}
 	cgwb_bdi_register(bdi);
 	bdi->dev = dev;
 
-	bdi_debug_register(bdi, dev_name(dev));
 	set_bit(WB_registered, &bdi->wb.state);
 
 	spin_lock_bh(&bdi_lock);
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
@ 2017-10-31 10:38   ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:38 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

In order to make error handle more cleaner we call bdi_debug_register
before set state to WB_registered, that we can avoid call bdi_unregister
in release_bdi().

Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 mm/backing-dev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index b5f940ce0143..84b2dc76f140 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
 	if (IS_ERR(dev))
 		return PTR_ERR(dev);
 
+	if (bdi_debug_register(bdi, dev_name(dev))) {
+		device_destroy(bdi_class, dev->devt);
+		return -ENOMEM;
+	}
 	cgwb_bdi_register(bdi);
 	bdi->dev = dev;
 
-	bdi_debug_register(bdi, dev_name(dev));
 	set_bit(WB_registered, &bdi->wb.state);
 
 	spin_lock_bh(&bdi_lock);
-- 
2.14.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 3/3] block: add WARN_ON if bdi register fail
  2017-10-31 10:37 ` weiping zhang
@ 2017-10-31 10:38   ` weiping zhang
  -1 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:38 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

device_add_disk need do more safety error handle, so this patch just
add WARN_ON.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 block/genhd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/genhd.c b/block/genhd.c
index dd305c65ffb0..52834433878c 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -660,7 +660,7 @@ void device_add_disk(struct device *parent, struct gendisk *disk)
 
 	/* Register BDI before referencing it from bdev */
 	bdi = disk->queue->backing_dev_info;
-	bdi_register_owner(bdi, disk_to_dev(disk));
+	WARN_ON(bdi_register_owner(bdi, disk_to_dev(disk)));
 
 	blk_register_region(disk_devt(disk), disk->minors, NULL,
 			    exact_match, exact_lock, disk);
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 3/3] block: add WARN_ON if bdi register fail
@ 2017-10-31 10:38   ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-10-31 10:38 UTC (permalink / raw)
  To: axboe, jack; +Cc: linux-block, linux-mm

device_add_disk need do more safety error handle, so this patch just
add WARN_ON.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
---
 block/genhd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/genhd.c b/block/genhd.c
index dd305c65ffb0..52834433878c 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -660,7 +660,7 @@ void device_add_disk(struct device *parent, struct gendisk *disk)
 
 	/* Register BDI before referencing it from bdev */
 	bdi = disk->queue->backing_dev_info;
-	bdi_register_owner(bdi, disk_to_dev(disk));
+	WARN_ON(bdi_register_owner(bdi, disk_to_dev(disk)));
 
 	blk_register_region(disk_devt(disk), disk->minors, NULL,
 			    exact_match, exact_lock, disk);
-- 
2.14.2

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
  2017-10-31 10:38   ` weiping zhang
@ 2017-11-01 13:47     ` Jan Kara
  -1 siblings, 0 replies; 14+ messages in thread
From: Jan Kara @ 2017-11-01 13:47 UTC (permalink / raw)
  To: weiping zhang; +Cc: axboe, jack, linux-block, linux-mm

On Tue 31-10-17 18:38:24, weiping zhang wrote:
> In order to make error handle more cleaner we call bdi_debug_register
> before set state to WB_registered, that we can avoid call bdi_unregister
> in release_bdi().
> 
> Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>

Looks good to me. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  mm/backing-dev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> index b5f940ce0143..84b2dc76f140 100644
> --- a/mm/backing-dev.c
> +++ b/mm/backing-dev.c
> @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
>  	if (IS_ERR(dev))
>  		return PTR_ERR(dev);
>  
> +	if (bdi_debug_register(bdi, dev_name(dev))) {
> +		device_destroy(bdi_class, dev->devt);
> +		return -ENOMEM;
> +	}
>  	cgwb_bdi_register(bdi);
>  	bdi->dev = dev;
>  
> -	bdi_debug_register(bdi, dev_name(dev));
>  	set_bit(WB_registered, &bdi->wb.state);
>  
>  	spin_lock_bh(&bdi_lock);
> -- 
> 2.14.2
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
@ 2017-11-01 13:47     ` Jan Kara
  0 siblings, 0 replies; 14+ messages in thread
From: Jan Kara @ 2017-11-01 13:47 UTC (permalink / raw)
  To: weiping zhang; +Cc: axboe, jack, linux-block, linux-mm

On Tue 31-10-17 18:38:24, weiping zhang wrote:
> In order to make error handle more cleaner we call bdi_debug_register
> before set state to WB_registered, that we can avoid call bdi_unregister
> in release_bdi().
> 
> Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>

Looks good to me. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  mm/backing-dev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> index b5f940ce0143..84b2dc76f140 100644
> --- a/mm/backing-dev.c
> +++ b/mm/backing-dev.c
> @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
>  	if (IS_ERR(dev))
>  		return PTR_ERR(dev);
>  
> +	if (bdi_debug_register(bdi, dev_name(dev))) {
> +		device_destroy(bdi_class, dev->devt);
> +		return -ENOMEM;
> +	}
>  	cgwb_bdi_register(bdi);
>  	bdi->dev = dev;
>  
> -	bdi_debug_register(bdi, dev_name(dev));
>  	set_bit(WB_registered, &bdi->wb.state);
>  
>  	spin_lock_bh(&bdi_lock);
> -- 
> 2.14.2
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
  2017-11-01 13:47     ` Jan Kara
@ 2017-11-17 15:06       ` weiping zhang
  -1 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-11-17 15:06 UTC (permalink / raw)
  To: axboe, Jan Kara; +Cc: axboe, linux-block, linux-mm

On Wed, Nov 01, 2017 at 02:47:22PM +0100, Jan Kara wrote:
> On Tue 31-10-17 18:38:24, weiping zhang wrote:
> > In order to make error handle more cleaner we call bdi_debug_register
> > before set state to WB_registered, that we can avoid call bdi_unregister
> > in release_bdi().
> > 
> > Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
> 
> Looks good to me. You can add:
> 
> Reviewed-by: Jan Kara <jack@suse.cz>
> 
> 								Honza
> 
> > ---
> >  mm/backing-dev.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> > index b5f940ce0143..84b2dc76f140 100644
> > --- a/mm/backing-dev.c
> > +++ b/mm/backing-dev.c
> > @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
> >  	if (IS_ERR(dev))
> >  		return PTR_ERR(dev);
> >  
> > +	if (bdi_debug_register(bdi, dev_name(dev))) {
> > +		device_destroy(bdi_class, dev->devt);
> > +		return -ENOMEM;
> > +	}
> >  	cgwb_bdi_register(bdi);
> >  	bdi->dev = dev;
> >  
> > -	bdi_debug_register(bdi, dev_name(dev));
> >  	set_bit(WB_registered, &bdi->wb.state);
> >  
> >  	spin_lock_bh(&bdi_lock);
> > -- 

Hello Jens,

Could you please give some comments for this series cleanup.

--
Thanks
weiping

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
@ 2017-11-17 15:06       ` weiping zhang
  0 siblings, 0 replies; 14+ messages in thread
From: weiping zhang @ 2017-11-17 15:06 UTC (permalink / raw)
  To: axboe, Jan Kara; +Cc: linux-block, linux-mm

On Wed, Nov 01, 2017 at 02:47:22PM +0100, Jan Kara wrote:
> On Tue 31-10-17 18:38:24, weiping zhang wrote:
> > In order to make error handle more cleaner we call bdi_debug_register
> > before set state to WB_registered, that we can avoid call bdi_unregister
> > in release_bdi().
> > 
> > Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
> 
> Looks good to me. You can add:
> 
> Reviewed-by: Jan Kara <jack@suse.cz>
> 
> 								Honza
> 
> > ---
> >  mm/backing-dev.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/mm/backing-dev.c b/mm/backing-dev.c
> > index b5f940ce0143..84b2dc76f140 100644
> > --- a/mm/backing-dev.c
> > +++ b/mm/backing-dev.c
> > @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
> >  	if (IS_ERR(dev))
> >  		return PTR_ERR(dev);
> >  
> > +	if (bdi_debug_register(bdi, dev_name(dev))) {
> > +		device_destroy(bdi_class, dev->devt);
> > +		return -ENOMEM;
> > +	}
> >  	cgwb_bdi_register(bdi);
> >  	bdi->dev = dev;
> >  
> > -	bdi_debug_register(bdi, dev_name(dev));
> >  	set_bit(WB_registered, &bdi->wb.state);
> >  
> >  	spin_lock_bh(&bdi_lock);
> > -- 

Hello Jens,

Could you please give some comments for this series cleanup.

--
Thanks
weiping

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
  2017-11-17 15:06       ` weiping zhang
@ 2017-11-17 16:34         ` Jens Axboe
  -1 siblings, 0 replies; 14+ messages in thread
From: Jens Axboe @ 2017-11-17 16:34 UTC (permalink / raw)
  To: Jan Kara, linux-block, linux-mm

On 11/17/2017 08:06 AM, weiping zhang wrote:
> On Wed, Nov 01, 2017 at 02:47:22PM +0100, Jan Kara wrote:
>> On Tue 31-10-17 18:38:24, weiping zhang wrote:
>>> In order to make error handle more cleaner we call bdi_debug_register
>>> before set state to WB_registered, that we can avoid call bdi_unregister
>>> in release_bdi().
>>>
>>> Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
>>
>> Looks good to me. You can add:
>>
>> Reviewed-by: Jan Kara <jack@suse.cz>
>>
>> 								Honza
>>
>>> ---
>>>  mm/backing-dev.c | 5 ++++-
>>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
>>> index b5f940ce0143..84b2dc76f140 100644
>>> --- a/mm/backing-dev.c
>>> +++ b/mm/backing-dev.c
>>> @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
>>>  	if (IS_ERR(dev))
>>>  		return PTR_ERR(dev);
>>>  
>>> +	if (bdi_debug_register(bdi, dev_name(dev))) {
>>> +		device_destroy(bdi_class, dev->devt);
>>> +		return -ENOMEM;
>>> +	}
>>>  	cgwb_bdi_register(bdi);
>>>  	bdi->dev = dev;
>>>  
>>> -	bdi_debug_register(bdi, dev_name(dev));
>>>  	set_bit(WB_registered, &bdi->wb.state);
>>>  
>>>  	spin_lock_bh(&bdi_lock);
>>> -- 
> 
> Hello Jens,
> 
> Could you please give some comments for this series cleanup.

It looks good to me - for some reason I seem to be missing patch
2/3 locally, but I have this followup. I'll get it applied for
4.15, thanks.

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 2/3] bdi: add error handle for bdi_debug_register
@ 2017-11-17 16:34         ` Jens Axboe
  0 siblings, 0 replies; 14+ messages in thread
From: Jens Axboe @ 2017-11-17 16:34 UTC (permalink / raw)
  To: Jan Kara, linux-block, linux-mm

On 11/17/2017 08:06 AM, weiping zhang wrote:
> On Wed, Nov 01, 2017 at 02:47:22PM +0100, Jan Kara wrote:
>> On Tue 31-10-17 18:38:24, weiping zhang wrote:
>>> In order to make error handle more cleaner we call bdi_debug_register
>>> before set state to WB_registered, that we can avoid call bdi_unregister
>>> in release_bdi().
>>>
>>> Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
>>
>> Looks good to me. You can add:
>>
>> Reviewed-by: Jan Kara <jack@suse.cz>
>>
>> 								Honza
>>
>>> ---
>>>  mm/backing-dev.c | 5 ++++-
>>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/mm/backing-dev.c b/mm/backing-dev.c
>>> index b5f940ce0143..84b2dc76f140 100644
>>> --- a/mm/backing-dev.c
>>> +++ b/mm/backing-dev.c
>>> @@ -882,10 +882,13 @@ int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, va_list args)
>>>  	if (IS_ERR(dev))
>>>  		return PTR_ERR(dev);
>>>  
>>> +	if (bdi_debug_register(bdi, dev_name(dev))) {
>>> +		device_destroy(bdi_class, dev->devt);
>>> +		return -ENOMEM;
>>> +	}
>>>  	cgwb_bdi_register(bdi);
>>>  	bdi->dev = dev;
>>>  
>>> -	bdi_debug_register(bdi, dev_name(dev));
>>>  	set_bit(WB_registered, &bdi->wb.state);
>>>  
>>>  	spin_lock_bh(&bdi_lock);
>>> -- 
> 
> Hello Jens,
> 
> Could you please give some comments for this series cleanup.

It looks good to me - for some reason I seem to be missing patch
2/3 locally, but I have this followup. I'll get it applied for
4.15, thanks.

-- 
Jens Axboe

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-11-17 16:34 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-31 10:37 [PATCH v2 0/3] add error handle for bdi debugfs register weiping zhang
2017-10-31 10:37 ` weiping zhang
2017-10-31 10:37 ` [PATCH v2 1/3] bdi: convert bdi_debug_register to int weiping zhang
2017-10-31 10:37   ` weiping zhang
2017-10-31 10:38 ` [PATCH v2 2/3] bdi: add error handle for bdi_debug_register weiping zhang
2017-10-31 10:38   ` weiping zhang
2017-11-01 13:47   ` Jan Kara
2017-11-01 13:47     ` Jan Kara
2017-11-17 15:06     ` weiping zhang
2017-11-17 15:06       ` weiping zhang
2017-11-17 16:34       ` Jens Axboe
2017-11-17 16:34         ` Jens Axboe
2017-10-31 10:38 ` [PATCH v2 3/3] block: add WARN_ON if bdi register fail weiping zhang
2017-10-31 10:38   ` weiping zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.