A system and method for interfacing index based and iterator based file management
routines. In general, the disclosed system maintains an iterator cache having multiple
iterators. Each active iterator is associated with a most recently used directory
entry. Upon receiving an index based request, the iterator closest to the index
based request is identified. If the index based request is closer to the top of
the directory than it is to the closest active iterator, the directory entries
are sequentially examined beginning at the top of the directory with the first
entry. Otherwise, the system determines whether the index based request is located
above or below the closest iterator. If the index based request is above the closest
iterator, the system steps backward beginning with the directory entry associated
with the closest iterator until the directory entry associated with the index based
request is located. If the closest iterator is located below the closest iterator,
the system steps forward through the directory entries beginning with the directory
entry associated with the closest iterator until the requested directory entry
is located.