Solomon Boulos has uploaded this change for review.

View Change

Implement just enough for MOUNT and stat!

Adding a bunch of the "handle" (fh3 for this) processing functions as well as
the basic GETATTR3 implementation. This revealed that attrmask_t has a clumsy
additional ATTR_RDATTR_ERR bit to say "Hey, let me know if there was an error",
so we have to handle both ATTRS_NFS3 *and* that one.

Now our three hop proxy does a thing!

ganesha-client => ganesha-proxy (192.168.1.2) => nfsd

$ sudo mount -vvv -t nfs -o proto=tcp,vers=3 192.168.1.2:/testy ${HOME}/proxy-mount
mount.nfs: timeout set for Wed Feb 26 02:24:26 2020
mount.nfs: trying text-based options 'proto=tcp,vers=3,addr=192.168.1.2'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.1.2 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.1.2 prog 100005 vers 3 prot TCP port 39259

$ stat proxy-mount
File: proxy-mount
Size: 4096 Blocks: 8 IO Block: 16384 directory
Device: 24h/36d Inode: 541030 Links: 3
Access: (0777/drwxrwxrwx) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2020-02-22 18:11:58.869840505 +0000
Modify: 2020-02-22 18:11:58.225797236 +0000
Change: 2020-02-22 18:11:58.225797236 +0000
Birth: -

$ stat proxy-mount/yo.txt
File: proxy-mount/yo.txt
Size: 11 Blocks: 8 IO Block: 1048576 regular file
Device: 24h/36d Inode: 541603 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ boulos) Gid: ( 1001/ boulos)
Access: 2020-02-15 00:15:29.184026702 +0000
Modify: 2020-02-15 00:15:29.184026702 +0000
Change: 2020-02-15 00:15:29.184026702 +0000
Birth: -

and then I made woohoo.txt.

$ stat proxy-mount/woohoo.txt
File: proxy-mount/woohoo.txt
Size: 8 Blocks: 8 IO Block: 1048576 regular file
Device: 24h/36d Inode: 524289 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ boulos) Gid: ( 1001/ boulos)
Access: 2020-02-26 02:35:46.554340139 +0000
Modify: 2020-02-26 02:35:46.554340139 +0000
Change: 2020-02-26 02:35:46.554340139 +0000
Birth: -

showing all the right times!

Change-Id: I394d31f80166c632b0ec3af3a4190398f72d291b
Signed-off-by: Solomon Boulos <boulos@google.com>
---
M src/FSAL/FSAL_PROXY_V3/main.c
M src/FSAL/FSAL_PROXY_V3/rpc.c
M src/FSAL/FSAL_PROXY_V3/utils.c
3 files changed, 233 insertions(+), 1 deletion(-)

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

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

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