Message ID | 20210830221000.179369-2-mcgrof@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: third batch of add_disk() error handling conversions | expand |
Hi Luis, On Tue, Aug 31, 2021 at 12:10 AM Luis Chamberlain <mcgrof@kernel.org> 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. Only the disk is cleaned up inside > z2ram_register_disk() as the caller deals with the rest. > > Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> Thanks for your patch! > --- a/drivers/block/z2ram.c > +++ b/drivers/block/z2ram.c > @@ -318,6 +318,7 @@ static const struct blk_mq_ops z2_mq_ops = { > static int z2ram_register_disk(int minor) > { > struct gendisk *disk; > + int err; > > disk = blk_mq_alloc_disk(&tag_set, NULL); > if (IS_ERR(disk)) > @@ -333,8 +334,10 @@ static int z2ram_register_disk(int minor) > sprintf(disk->disk_name, "z2ram"); > > z2ram_gendisk[minor] = disk; > - add_disk(disk); > - return 0; > + err = add_disk(disk); > + if (err) > + blk_cleaup_disk(disk); blk_cleanup_disk()? Seems like lkp already detected this back in July... > + return err; > } > > static int __init z2_init(void) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Wed, Sep 01, 2021 at 03:41:47PM +0200, Geert Uytterhoeven wrote: > > --- a/drivers/block/z2ram.c > > +++ b/drivers/block/z2ram.c > > @@ -333,8 +334,10 @@ static int z2ram_register_disk(int minor) > > sprintf(disk->disk_name, "z2ram"); > > > > z2ram_gendisk[minor] = disk; > > - add_disk(disk); > > - return 0; > > + err = add_disk(disk); > > + if (err) > > + blk_cleaup_disk(disk); > > blk_cleanup_disk()? Fixed thanks. Luis
diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c index 4eef218108c6..6648bbc87c30 100644 --- a/drivers/block/z2ram.c +++ b/drivers/block/z2ram.c @@ -318,6 +318,7 @@ static const struct blk_mq_ops z2_mq_ops = { static int z2ram_register_disk(int minor) { struct gendisk *disk; + int err; disk = blk_mq_alloc_disk(&tag_set, NULL); if (IS_ERR(disk)) @@ -333,8 +334,10 @@ static int z2ram_register_disk(int minor) sprintf(disk->disk_name, "z2ram"); z2ram_gendisk[minor] = disk; - add_disk(disk); - return 0; + err = add_disk(disk); + if (err) + blk_cleaup_disk(disk); + return err; } static int __init z2_init(void)
We never checked for errors on add_disk() as this function returned void. Now that this is fixed, use the shiny new error handling. Only the disk is cleaned up inside z2ram_register_disk() as the caller deals with the rest. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> --- drivers/block/z2ram.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)