I haven’t done enough with Proxy… There is a handle mapping option that you may need to use if the proxied handles are too big for NFSv3. Frank From: Nick Couchman [mailto:nick.e.couchman@gmail.com] Sent: Friday, June 25, 2021 4:38 PM To: support@lists.nfs-ganesha.org Subject: [NFS-Ganesha-Support] Proxy FSAL - NFS4 -> 3 I'm using Ganesha NFS with the Proxy FSAL. It seems to work fine as long as I'm going between NFS clients and servers of the same version (NFSv4.1 client -> NFSv4.1 server). However, I have a situation where I'm trying to proxy a NFSv4.1 service (Azure File Share NFS) for clients that do not support NFSv4. When I do this, the "mount" command on the NFSv3 clients works fine, but as soon as I try to do any data operations, I get I/O errors: # mount -t nfs -o vers=3 10.11.12.13:/azure-nfs-file /mnt/azure # ls -l /mnt/azure ls: reading directory '/mnt/azure': Remote I/O error total 0 I've posted my (sanitized) configuration below. My questions are: 1) Is it possible to use Ganesha to proxy this way - allowing clients to access a NFS server that differs in version, or is this not supported? 2) Am I missing something within my Ganesha config to enable this? I can also provide the debug logging, if that's helpful. Thanks - Nick ==ganesha.conf== NFS_CORE_PARAM { mount_path_pseudo = true; Protocols = 3,4; MNT_Port = 20048; } LOG { Default_Log_Level = INFO; Components { FSAL = FULL_DEBUG; } } EXPORT_DEFAULTS { Access_Type = RW; } ## Azure NFS Share EXPORT { Export_id = 902; Path = "/stgaccount/azure-file"; Pseudo = "/azure-file"; Access_Type = RW; Squash = no_root_squash; Sectype = sys; FSAL { Name = proxy; Srv_Addr = 10.1.2.3; Enable_Handle_Mapping = TRUE; HandleMap_DB_Dir = "/var/ganesha/handledb/902"; HandleMap_Tmp_Dir = "/run/ganesha/tmp/902"; HandleMap_DB_Count = 8; } }