Messages in this thread |  | | Subject | Re: [PATCH] UBI: new module ubiblk: block layer on top of UBI | | From | Artem Bityutskiy <> | | Date | Mon, 27 Jun 2011 22:26:08 +0300 |
| |
On Fri, 2011-06-24 at 15:34 +0200, david.wagner@free-electrons.com wrote: > + /* Stolen from mtd_blkdevs.c */ > + /* Create processing thread */ > + dev->thread = kthread_run(ubi_ubiblk_thread, dev, "%s%d_%d", > + "kubiblkd", dev->ubi_num, dev->vol_id); > + if (IS_ERR(dev->thread)) { > + ret = PTR_ERR(dev->thread); > + goto out_thread; > + }
Why we need a kernel thread? Could you please describe when exactly it is needed and why we cannot avoid having it?
> + ret = register_blkdev(0, "ubiblk"); > + if (ret <= 0) { > + pr_err("UBIBLK: could not register_blkdev\n"); > + return -ENODEV; > + } > + major = ret; > + pr_info("UBIBLK: device's major: %d\n", major); > + > + mutex_init(&devtable_lock); > + ret = ubi_register_volume_notifier(&ubiblk_notifier, 0); > + if (ret < 0) > + return ret;
You should probably de-register the blkdev when you fail here.
-- Best Regards, Artem Bityutskiy (Битюцкий Артём)
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |