On Thu, Aug 16, 2007 at 09:45:36AM +0200, Peter Zijlstra wrote:
> provide BDI constructor/destructor hooks
...
> Index: linux-2.6/drivers/block/rd.c
> ===================================================================
> --- linux-2.6.orig/drivers/block/rd.c
> +++ linux-2.6/drivers/block/rd.c
...
> @@ -419,7 +422,19 @@ static void __exit rd_cleanup(void)
>  static int __init rd_init(void)
>  {
>       int i;
> -     int err = -ENOMEM;
> +     int err;
> +
> +     err = bdi_init(&rd_backing_dev_info);
> +     if (err)
> +             goto out2;
> +
> +     err = bdi_init(&rd_file_backing_dev_info);
> +     if (err) {
> +             bdi_destroy(&rd_backing_dev_info);
> +             goto out2;

How about this...

if (err)
        goto out3;

> +     }
> +
> +     err = -ENOMEM;
>  
>       if (rd_blocksize > PAGE_SIZE || rd_blocksize < 512 ||
>                       (rd_blocksize & (rd_blocksize-1))) {
> @@ -473,6 +488,9 @@ out:
>               put_disk(rd_disks[i]);
>               blk_cleanup_queue(rd_queue[i]);
>       }
> +     bdi_destroy(&rd_backing_dev_info);
> +     bdi_destroy(&rd_file_backing_dev_info);

        bdi_destroy(&rd_file_backing_dev_info);
out3:
        bdi_destroy(&rd_backing_dev_info);

Sure you might want to switch from numbered labels to something a bit more
descriptive.

> +out2:
>       return err;
>  }
>  

Josef 'Jeff' Sipek.

-- 
The box said "Windows XP or better required". So I installed Linux.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to