[Lustre-devel] OSD iterator interface
Oleg Drokin
Oleg.Drokin at Sun.COM
Thu Apr 2 11:47:23 PDT 2009
Hello!
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
(e.g. __mdd_readpage)
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
its own
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?
Bye,
Oleg
More information about the lustre-devel
mailing list