From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oliver Neukum Date: Mon, 03 Jun 2002 21:09:36 +0000 Subject: Re: Which node has the device been bound to? Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org > > A name can change meaning. An open file cannot. It'll either > > be what the ioctl() will tell you, or it'll be gone. If you operate on > > a device that is gone the kernel will return an error and all is well. > > Yes, you get a response from an ioctl that points you to a /dev node or > a driverfs file. Then the device is disconnected and whatever you had > pointing to that device (the /dev file pointer) is replaced with a new > device connecting. Same problem as before :) Nope. You had opened the device. The name changes meaning. The fd does not. > > If you parse what driverfs gives you, you operate on changing > > data without a lock. I can see no way to change that. > > I don't see a way around this even with ioctl(). Ioctl() works atomic. If locks are needed, the ioctl() handler can safely implement them. > But what is the real problem here? What do you want to solve? Mapping > of a /dev node to a physical device? Or mapping of a physical device to > a /dev node? Or something else? The former. The latter has some principal problems. To do the former you need to have an atomic operation on an opened device. Thus you need to have the device node open and you need the ioctl to not return a pointer to a driverfs file. You either return its content or an fd. Regards Oliver _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel