Coda File System

GNU find fails to traverse directories

When I try to get a list of all directories in coda, find does not seem to go past volume mount points

The explanation for the problem is found in the info pages for GNU find:

Option: -noleaf

Do not optimize by assuming that directories contain 2 fewer subdirectories than their hard link count. This option is needed when searching filesystems that do not follow the Unix directory-link convention, such as CD-ROM or MS-DOS filesystems or AFS volume mount points. Each directory on a normal Unix filesystem has at least 2 hard links: its name and its `.' entry. Additionally, its subdirectories (if any) each have a `..' entry linked to that directory. When `find' is examining a directory, after it has statted 2 fewer subdirectories than the directory's link count, it knows that the rest of the entries in the directory are non-directories ("leaf" files in the directory tree). If only the files' names need to be examined, there is no need to stat them; this gives a significant increase in search speed.

In the Coda Filesystem a volume mountpoint may look like a directory but works like a softlink, because it does not add to it's parent's hardlink count. (It is theoretically possible to mount a volume in different places, although it will confuse the kernel module, especially for the volume's root directory which gets multiple different inodes.)