Because of the requirements they impose on filesystem implementations: what happens when you add/delete files from the directory you have open. And with a saved position from "telldir"? How can you stuff enough information into a "long" to allow a stable iteration position in the face of concurrent modification of the directory contents? It's just a pain in the ass to implement.
And it's so tricky and so unused, that the implementation was actually horribly broken from its inception in BSD until 2008, 25 years later!
Posted Nov 18, 2010 17:31 UTC (Thu) by pr1268 (subscriber, #24648)
[Link]
Ahh yes, I almost forgot about those cases. In fact, there was some discussion here on LWN about the difficulties of these in the context of UnionFS. Thanks for jogging my memory.