Same issue here. I previously used a workaround from Bug #4151 (see:
https://bugs.freenas.org/issues/4151#note-17) but that doesn't seem to provide relief anymore.
Edit: I followed the setfacl commands to manually update the ACLs. No dice now. It worked in 9.2.1.1.
So some things have changed with the update to Samba 4. ACL's are pickier than they were previously. If you "chmod 777" a directory or file, it's not going to do what you think it is in the world of windows. For sharing for UNIX systems, you are fine. Let me give an example. I will create a dataset of type "UNIX" named FOO1, and a dataset of type "Windows" FOO2. Let's look at permissions *without* setting them from the permissions wizard now:
FOO1:
[root@raidzilla64 /mnt/vol0]# ls -ld FOO1
drwxr-xr-x 2 root wheel 2 Mar 4 10:38 FOO1
[root@raidzilla64 /mnt/vol0]# getfacl FOO1
# file: FOO1
# owner: root
# group: wheel
owner@:rwxp--aARWcCos:------:allow
group@:r-x---a-R-c--s:------:allow
everyone@:r-x---a-R-c--s:------:allow
[root@raidzilla64 /mnt/vol0]#
FOO2:
[root@raidzilla64 /mnt/vol0]# ls -ld FOO2
drwxrwxr-x+ 2 root wheel 3 Mar 4 10:39 FOO2
[root@raidzilla64 /mnt/vol0]# getfacl FOO2
# file: FOO2
# owner: root
# group: wheel
owner@:rwxpDdaARWcCos:fd----:allow
group@:rwxpDdaARWcCos:fd----:allow
everyone@:r-x-D-a-R-c---:fd----:allow
See the '+' at the end of the permission string for FOO2? That indicates this entry is using an ACL. Also, see the difference in the ACL entries? The windows one by default "does the right thing". This ACL says that owner and group have "full access" while everyone else has "read access". This is only for newly created windows datasets since 9.2.1.2. If you want to change behavior or permissions on datasets that already existed, you'll have to do so manually. Let's see what happens when we "chmod 777" the FOO2 dataset:
[root@raidzilla64 /mnt/vol0]# chmod 777 FOO2
[root@raidzilla64 /mnt/vol0]# getfacl FOO2
# file: FOO2
# owner: root
# group: wheel
owner@:rwxp--aARWcCos:------:allow
group@:rwxp--a-R-c--s:------:allow
everyone@:rwxp--a-R-c--s:------:allow
[root@raidzilla64 /mnt/vol0]# ls -ld FOO2
drwxrwxrwx 2 root wheel 3 Mar 4 10:39 FOO2
Oh no! It took away some of our ACL access permissions! It's not "full access" anymore. See what is happening here? I'm going to cut and paste the ACL access permissions here directly from the man page from setfacl to hopefully clarify some of this:
access permissions
Access permissions may be specified in either short or long form.
Short and long forms may not be mixed. Permissions in long form
are separated by the `/' character; in short form, they are con-
catenated together. Valid permissions are:
Short Long
r read_data
w write_data
x execute
p append_data
D delete_child
d delete
a read_attributes
A write_attributes
R read_xattr
W write_xattr
c read_acl
C write_acl
o write_owner
s synchronize
In addition, the following permission sets may be used:
Set Permissions
full_set all permissions, as shown above
modify_set all permissions except write_acl and write_owner
read_set read_data, read_attributes, read_xattr and read_acl
write_set write_data, append_data, write_attributes and
write_xattr
Windows needs more than a "chmod 777" to work right. So my advice is to NOT change permissions on newly created windows datasets and manage the permissions from windows once created, and on existing datasets that are used for windows sharing, to either leave permissions alone, modify them via windows, or use setfacl on FreeNAS to fix any issues you are having instead of chmod.
For further reference on setfacl, here is the online man page:
http://www.freebsd.org/cgi/man.cgi?query=setfacl&apropos=0&sektion=0&manpath=FreeBSD 9.2-RELEASE&arch=default&format=html
I hope this helps!