Hi, all.
I've worked up a sample API for async/vector for FSAL ops. The example
op is read(), and I've "implemented" it for all FSALs, so that I can
verify that it does, in fact, work for some definition of work. The
commit is the top of this branch:
https://github.com/dang/nfs-ganesha/tree/async
Several notes on this:
This is an API example only. There is no actual async (and the stub in
fsal_read2() depends on there being no async currently), and the vector
size must currently be 1, until all FSALs are capable of handling larger
vectors. I've added vector processing to all FSALs that I could find
implementations for (currently MEM, VFS, and GLUSTER), and I've added
loops to all FSALs that I could figure out how that should work. This
leaves GPFS and Proxy (which have complicated read implementations) only
handling vector sizes of 1.
My primary goal here is to start discussion around what the API should
look like, since this is a big change. In parallel with this
discussion, I'll be working on pushing the async up the stack to the
point where we can actually handle async ops, and Bill will be working
on vectorizing up the stack as well.
Daniel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel