Re: [PATCH V3 1/1] ublk: add io_uring based userspace block driver

Gabriel Krisman Bertazi
2022-07-04T16:13:27Z

Sagi Grimberg <sagi@grimberg.me> writes:

>>>> diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
>>>> index fdb81f2794cd..d218089cdbec 100644
>>>> --- a/drivers/block/Kconfig
>>>> +++ b/drivers/block/Kconfig
>>>> @@ -408,6 +408,12 @@ config BLK_DEV_RBD
>>>> If unsure, say N.
>>>> +config BLK_DEV_UBLK
>>>> + bool "Userspace block driver"
>>>
>>> Really? why compile this to the kernel and not tristate as loadable
>>> module?
>> So far, this is only one reason: task_work_add() is required, which
>> isn't exported for modules.
>
> So why not exporting it?
> Doesn't seem like a good justification to build it into the kernel.

Sagi,

If I understand correctly, the task_work_add function is quite a core
API that we probably want to avoid exposing directly to (out-of-tree)
modules? I agree, though, it would be great to have this buildable as a
module for general use cases. Would it make sense to have it exposed
through a thin built-in wrapper, specific to UBD, which is exported, and
therefore able to invoke that function? Is it a reasonable approach?

--
Gabriel Krisman Bertazi