Re: [RFC PATCH 1/7] block: Support creating a struct file from a block device

Ming Lei
2023-02-02T08:51:06Z

On Tue, Jan 31, 2023 at 11:27:59AM -0500, Demi Marie Obenour wrote:
> On Tue, Jan 31, 2023 at 12:53:03AM -0800, Christoph Hellwig wrote:
> > On Mon, Jan 30, 2023 at 02:22:39PM -0500, Demi Marie Obenour wrote:
> > > What do you recommend instead? This solves a real problem for
> > > device-mapper users and I am not aware of a better solution.
> >
> > You could start with explaining the problem and what other methods
> > you tried that failed. In the end it's not my job to fix your problem.
>
> I’m working on a “block not-script” (Xen block device hotplug script
> written in C) for Qubes OS. The current hotplug script is a shell
> script that takes a global lock, which serializes all invocations and
> significantly slows down VM creation and destruction. My C program
> avoids this problem.
>
> One of the goals of the not-script is to never leak resources, even if
> it dies with SIGKILL or is never called with the “remove” argument to

If it dies, you still can restart one new instance for handling the device
leak by running one simple daemon to monitor if not-script is live.

> destroy the devices it created. Therefore, whenever possible, it relies
> on automatic destruction of devices that are no longer used. I have

This automatic destruction of devices is supposed to be done in
userspace, cause only userspace knows when device is needed, when
it is needed.

So not sure this kind of work should be involved in kernel.

Thanks,
Ming