[Lustre-devel] OSD iterator interface
Oleg.Drokin at Sun.COM
Thu Apr 2 11:47:23 PDT 2009
While inspecting patches in bug 17560 it struck me as odd that we
are fetching the data one entry at a time from the filesystem, so I
asked a many-entries at a time
approach to be implemented. Now the patch in the bug just fills
the osd buffer with entries (after parsing them) and then actual user
reparses the osd buffer and copies data to its own. This is a lot
of wasted processing, copies and then some extra memory usage.
So in my opinion the iterator interface should be reworked to
accept an iterator and a buffer and then __mdd_readdir will pass in
parsing of the data (with possible generalized preparsing from osd
so that we are fs-neutral) and will directly fill its own buffer to
the amount it actually needs,
kind of like any kernel filldir functions already work right now.
Am I missing something stupid? Are there any objections, would
this break anything?
More information about the lustre-devel