Messages in this thread | | | Date | Thu, 8 Jan 2004 19:16:35 -0600 | From | Matt Mackall <> | Subject | Re: removable media revalidation - udev vs. devfs or static /dev |
| |
On Thu, Jan 08, 2004 at 07:28:47PM -0500, Robert Love wrote: > On Wed, 2004-01-07 at 22:43, Linus Torvalds wrote: > > > Yes. We _could_ do that, by just making a "we noticed the disk change" be > > a hotplug event. However, I'm loath to do that, because some devices > > literally don't even have an easily read disk change signal, so what they > > do is > > I like the idea of a hotplug event on media change (basically, a hotplug > event for partitions). And, in fact, I am loath not to do it. > > The current direction with the kernel and udev is letting us move _away_ > from polling. Projects such as HAL are helping to finally integrate > hardware management throughout the system. But HAL is going to be very > confused by some of the alternative solutions for partitions: requiring > that all of the partition device nodes preexist is going to really > complicate things, and I really do not want to have to poll on all of > them in order for HAL to have an idea of what partitions are valid. > > But I hear you loud and clear about dumb devices that cannot detect > media change. They pose a problem.
If we have a hotplug media change event we can do:
if new device x appears: x->device_nodes = all possible partition nodes start_media_change_timer() if media change on x: x->device_nodes = current media partitions clear_media_change_timer() create_nodes(x) if timeout: /* we didn't get media change so create all nodes */ create_nodes(x)
Then the dumb devices (which should be a small minority) just show up with a harmless excess of partitions.
-- Matt Mackall : http://www.selenic.com : Linux development and consulting - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |