lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v1 7/8] null_blk: add error handling support for add_disk()
From
Date
On 5/12/21 6:47 PM, Luis Chamberlain wrote:
> On Wed, May 12, 2021 at 05:16:39PM +0200, Hannes Reinecke wrote:
>> On 5/12/21 8:46 AM, Luis Chamberlain wrote:
>>> We never checked for errors on add_disk() as this function
>>> returned void. Now that this is fixed, use the shiny new
>>> error handling.
>>>
>>> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
>>> ---
>>> drivers/block/null_blk/main.c | 9 +++++++--
>>> 1 file changed, 7 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c
>>> index 5f006d9e1472..2346d1292b26 100644
>>> --- a/drivers/block/null_blk/main.c
>>> +++ b/drivers/block/null_blk/main.c
>>> @@ -1699,6 +1699,7 @@ static int init_driver_queues(struct nullb *nullb)
>>> static int null_gendisk_register(struct nullb *nullb)
>>> {
>>> + int ret;
>>> sector_t size = ((sector_t)nullb->dev->size * SZ_1M) >> SECTOR_SHIFT;
>>> struct gendisk *disk;
>>> @@ -1719,13 +1720,17 @@ static int null_gendisk_register(struct nullb *nullb)
>>> strncpy(disk->disk_name, nullb->disk_name, DISK_NAME_LEN);
>>> if (nullb->dev->zoned) {
>>> - int ret = null_register_zoned_dev(nullb);
>>> + ret = null_register_zoned_dev(nullb);
>>> if (ret)
>>> return ret;
>>> }
>>> - add_disk(disk);
>>> + ret = add_disk(disk);
>>> + if (ret) {
>>
>> unregister_zoned_device() ?
>
> That function does not exist, do you mean null_free_zoned_dev()? If so
> that is done by the caller.
>
What I intended to say is that you are calling
'null_register_zoned_dev()' at one point, but don't call a cleanup
function if there is an error later in the path, leaving the caller to
guess whether null_register_zoned_dev() has been called or not.
So we should call the cleanup function here, too.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer

\
 
 \ /
  Last update: 2021-05-12 23:32    [W:0.093 / U:0.828 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site