April 2008

Finder and autofs

Finder has never much liked automounted directories. In Tiger, with amd, we would have ongoing problems with icons that would quit working, and directories that wouldn't mount. Things have improved in Leopard, but only slightly.

Finder in Leopard continues to have problems. With autofs, you do not get (or even have the option of getting) browsable icons for the mount point of each automount map. That would be nice, but it's a minor detail. The more major problem is that after going to one of those mount points by hand (command-shift-g), you can see a nice list of mountable directories (yay!), but when you click on them they don't mount; instead you get an error message. Actually they do mount, but Finder doesn't notice right away. If you click on them again, then sometimes you get the contents. But sometimes you don't, especially after they've been unmounted due to timeout. Clicking through mountpoints is generally too unreliable to be useful.

Mounting things through /Network makes Finder much happier, although it still suffers from the race condition - you get an error the first time, even though it actually mounted underneath. But if you mount into /Network, it's always mounts the first time you click, so you can click again, and the race condition won't happen because it's already mounted.

Apple has acknowledged that the above is due to a race condition, and they're going to have it fixed "real soon now".

In the PC and Mac world, the existence of hardware has always been part of the normal expectation. If the user has a hard drive they'll know about it, and look for it in a directory full of mounted volumes. If they are looking for a network drive, they'll look through network volumes and mount it.

This is an antiquated model. The superior model used by unix systems for years is that you can mount anything anywhere you like, and the user doesn't really need to know when they go from one piece of storage to the next. /foo might be on the system drive, /foo/bar is on an external drive, and /foo/bar/baz is on another computer entirely. Automounting takes care of everything, and the user doesn't care where anything lives, and doesn't have to "mount" anything. Of course, the old model can still exist in this newer more powerful structure. If they stick in a thumbdrive, it should naturally appear in their Volumes directory. But if their system administrator wants to have them all mount their Applications directories from a central server, in a seamless and invisible way for the user, that should work too.

This is what the people at Apple don't seem to get. They really had to go out of their way to break the Finder with respect to automounted directories. I mean, as soon as you try to look for a file, the kernel mounts it for you. If the Finder sat properly on top of the operating system's filesystem semantics, it would work fine. The Finder shouldn't even have to know about mountpoints.

For us, fixing the Finder's antiquated notions about mounting things is the last major piece that needs to be fixed before OS X can be casually tossed into a traditional UNIX NIS environment.

More Mac OS X Stuff

Tom Fine's Home Send Me Email