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

Reply via email to