Solomon Boulos has uploaded this change for review.

View Change

Initial NFSv3 proxying FSAL.

[As requested, merging all of these commits into one]

This patch series adds an NFSv3 proxy following the example from the
NFSv4 proxy that Ganesha already has. I saw a few people ask for this on
the list, and it seemed easy enough to do. I believe the implementation
is semi-reasonable (e.g., it passes the cthon testsuite, including
locking) but definitely doesn't do things particularly efficiently. This
is my first foray into both Ganesha and NFS, so apologies for obvious
errors.

Note that I explicitly chose to make this a separate FSAL rather than
intermingle it with the V4 proxy. While there's probably some
opportunity for sharing, it seemed easier to confine each to their own
directory, particularly since a V3 server can't handle V4 clients
correctly (you could translate some things to let it "kind of work", but
that seems risky). As future work, someone could imagine probing a
backend and switching between the two FSALs.

Change-Id: I45926761389ef61af281f7ba0f7e643fd32b4ee5
Signed-off-by: Solomon Boulos <boulos@google.com>

Support readahead.

Change-Id: Icf2270ce625e15bf3aa9a00d3b25cfebdbb1fbc1
Signed-off-by: Solomon Boulos <boulos@google.com>
---
M src/CMakeLists.txt
M src/FSAL/CMakeLists.txt
A src/FSAL/FSAL_PROXY_V3/CMakeLists.txt
A src/FSAL/FSAL_PROXY_V3/main.c
A src/FSAL/FSAL_PROXY_V3/nlm.c
A src/FSAL/FSAL_PROXY_V3/proxyv3_fsal_methods.h
A src/FSAL/FSAL_PROXY_V3/rpc.c
A src/FSAL/FSAL_PROXY_V3/utils.c
A src/config_samples/proxy_v3.conf
M src/doc/man/ganesha-config.rst
A src/doc/man/ganesha-proxy-v3-config.rst
11 files changed, 4,879 insertions(+), 0 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/64/488664/1

To view, visit change 488664. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Icf2270ce625e15bf3aa9a00d3b25cfebdbb1fbc1
Gerrit-Change-Number: 488664
Gerrit-PatchSet: 1
Gerrit-Owner: Solomon Boulos <boulos@google.com>
Gerrit-MessageType: newchange