Re: How to tell whether a struct file is held by a process?

From: Alan Stern
Date: Fri May 22 2009 - 15:31:29 EST


On Fri, 22 May 2009, Kay Sievers wrote:

> On Fri, May 22, 2009 at 17:54, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> >> Would releasing the "lock" trigger a kernel-driver-binding call?
> >
> > No.  If the lock owner wants to bind kernel drivers, it can use the
> > existing API in libusb after releasing the lock.  This might cause
> > problems if the owning process terminates abnormally, but I think we
> > can live with that.
> >
> >> The lock will always lock all devices of a specific hub?
> >
> > The idea is that there will be one lock file per port.  So for example,
> > a hub device with four ports might contain inside its sysfs device
> > directory: ports/1, ..., ports/4.
>
> Sounds both good to me.

Come to think of it, putting the lock files in sysfs isn't such a good
idea. The core will need to know whether the files are open, so we'll
have to have our own file_operations structure for them.

Which means the best place to put the lock files is probably somewhere
in /dev. Can this be made to work by generating appropriate uevents,
with the default udev rules?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/