> But what about symlinks? > > a g > b h->a > c > f->g > > The moment you traverse the f->g symlink above, > the entire tree, a/b/c/f, is no longer referenced, > so the h->a link may take you back to a new inode, > and the cycle will not be detected.
Right. So find either holds a file descriptor for each symlink traversed, or just ignore this problems for inode-less filesystems (find -L is relatively rarely used). I agree that compromises are unavoidable. However the bug I originally reported was not a theoretical one, it was reported for a _real_ FUSE filesystem used on gentoo (which carries find-4.3) and very likely will be reported for smbfs/cifs/fat/etc sooner or later. Miklos