I have figured out the NFS v4 issue with anonymous being returned even with squash=none. I am past this "ownership" problem with NFS v4 and overlay. I have a new problem and it isn't with Ganesha - I am now hitting a problem where, while I can finally su to erikj and see the right permissions, both architectures fail writing to most places in the merged directory (which becomes root). This happens with a kernel nfs exported path too (so not Ganesha specific). So I'm stalled again on this overlay+nfs project, but it's not related to Ganesha. My only issue with Ganesha is that, since it doesn't support NFS V3 ACLs, I'm sort of forced in to Gluster NFS due to this other unrelated problem. The disclosure on what I messed up before in case others searching hit it: The debugging we had enabled hid a parse error from me. I had to mess with some parameters related to NFS v4 to get nobody to stop showing up. It wasn't just squash. Here is what I'm running with and now I have corrct ownership. NFS_CORE_PARAM { Clustered = TRUE; RPC_Max_Connections = 2048; } NFSv4 { Graceless = True; Allow_Numeric_Owners = True; Only_Numeric_Owners = True; } EXPORT_DEFAULTS { Squash = none; } EXPORT { # Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 10; # Exported path (mandatory) Path = "/cm_shared"; # assuming 'testvol' is the Gluster volume name # Pseudo Path (required for NFS v4) Pseudo = "/cm_shared"; # Required for access (default is None) # Could use CLIENT blocks instead Access_Type = RW; Squash = none; # Security flavor supported SecType = "sys"; # Exporting FSAL FSAL { Name = "GLUSTER"; Hostname = "127.0.0.1"; # IP of one of the nodes in the trusted pool Volume = "cm_shared"; } } #LOG { # Components { # ALL = FULL_DEBUG; # } #}