From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Tue, 21 Dec 2004 16:59:45 +0000 Subject: Re: udev enhancements Message-Id: <20041221165945.GB30446@kroah.com> List-Id: References: <41C1551F.6060601@suse.de> In-Reply-To: <41C1551F.6060601@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Thu, Dec 16, 2004 at 10:27:59AM +0100, Hannes Reinecke wrote: > Hi all, > > I'm trying to figure out the best way to incorporating udev into some > system tools. Currently we're facing the following problem: > > Any program dealing with device nodes (e.g. parted) need to figure out > some information about the device it handles: > - partition naming: given a device name, generate the name of a > partition on that device. > - number of partitions: each block device type has it's own maximal > number of partitions. > > These information is mostly gathered from the device name. Of course, > you can't do that if you're using udev. > So, to retain the existing functionality we would need to add two major > improvements to udev: > > - Build udevinfo as library. This way any program can just link to this > library and retrieve any information from there instead of rely on some > build-in logic. That should actually be quite simple ... Look at how HAL uses udevinfo to get this kind of information. You don't need to make udevinfo into a library to do this. In fact, now that the udev database is just a directory of files, you don't really need udevinfo to get this yourself (just be careful if we change the database format in the future...) > - Add a 'dry-run' logic to udev/udevinfo: Given a devicename, how would > a partition on that device be named? Look at udevtest, that provides a "dry-run" functionality. > And it would also break the deadlock we're having now: > Removable IDE devices _always_ do a re-read partition on _open_. > So if we're using device_id to fetch information about a partition, > we're triggering hotplug events for each partition, which causes > device_id to re-run, which causes hotplug-events, which ... Use {all_partitions} for such devices. Linus has even argued that udev itself should do this by default for these types of things just to make it simpler. thanks, greg k-h ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ 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