Connecting NFS share to windows

Got a strange issue when trying to connect my windows laptop to my truenas server via NFS. I it was working fine a week ago but in that time I must have broke something and I can no longer connect to it properly.

I can connect to the shares and add them as both shared folders or mount them as drives in windows. When mounting them I can create folders, edit files but I cannot transfer any files. But its not that I can’t transfer them, the transfer starts but the file is already there and it asks if I want to overwrite, click yes and the transfer never starts, click no and I am left with a 0kb empty file. When the share is just added as a folder I can transfer files but only files smaller then ~500KB, my guess is the limit is 512KB or one drive sector. Anything larger fails with a error 0x8007045D io device error.

This happened across 2 different windows machines and Linux devices are unaffected. I am stumped as to why this is happening, the only changes I made to the shares was adding IP whitelists but those have since been removed. I also briefly tried mapping to root but that didn’t fix anything either. I know NFS on windows is kind of a crap shoot but I had it working 2 weeks ago and using SMB isn’t an option.

If anyone as seen this before I would greatly appreciate the help.

What is your ACL Type? “SMB/NFSv4”?

I ran into a similar issue, 0b file created until the second try, and it turned out NFS was not playing nicely unless I used POSIX ACL.

I am on core and I don’t see a way to switch the ACL type, does core support POSIX?

I had also stripped the ACLs from a test dataset and just used the basic permissions with everything open and still get the error.

Well at least partially fixed the issue. Not sure what it was exactly but between messing with the perms and settings I can now transfer files larger then 512KB via NFS with a network share folder.

When the drive is mounted the issue with the empty files is still present.

Edit: The trick seems to be mapping all users and group the owner and group of the dataset. At least for the network folder. Being able to use a proper network drive would be nice but this is a adequate worked around for now.