Description of problem: I've shared a gluster volume using samba vfs with the options: vfs objects = glusterfs glusterfs:volume = test path = / I can do the following: (Windows client): -Create new directory -Create new file -- an error pops up "Unable to create the file 'New Test Document.txt' The system cannot find the file specified.' BUT the file is created anyways and shows up in the directory immediately -Create a new sub directory in the above directory -Delete or rename any file (Linux client) -Create new directory -Create a new file under sub-directory -- "Device or resource busy" BUT the file is created anyways - must refresh to see file in GUI -Delete or rename any file Can not do the following: (Windows client) -Edit the new txt file in notepad -- file opens but popup says 'The process cannot access the file because it is being used by another process.' -Create a new file in the above new directory -- "Unable to create the file 'New Text Document.txt' The system cannot find the file specified", refreshing the directory doesn't list the file, but if samba is restarted the client can see the file. (Linux client) -Edit the new file -- "Unexpected error: Device or resource busy" I've also shared the same volume with samba via a fuse mount, and have no issues performing any file operations. Version-Release number of selected component (if applicable): samba-vfs-glusterfs-4.1.12-23.el7_1.x86_64 gluster 3.6.6 CentOS 7.1 How reproducible: Always Steps to Reproduce: 1. Create Gluster volume 2. install samba-vfs-glusterfs 3. configure share for vfs (see below for share config) 4. configure 2nd share pointing to gluster fuse mount point to verify Additional info: smb.conf shares [gluster-test-fuse] comment = exporting gluster filesystem via fuse mount path = /mnt/gluster/test read only = no writable = yes write list = +users browseable = yes guest ok = yes create mask = 0660 ;directory mask = 0770 force directory mode = 0770 force group = users [gluster-test] comment = exporting gluster filesystem via gfapi vfs objects = glusterfs glusterfs:volume = test glusterfs:logfile = /var/log/samba/glusterfs-test.%M.log glusterfs:loglevel = 7 path = / writable = yes write list = +users browseable = yes guest ok = yes create mask = 0660 ;directory mask = 0770 force directory mode = 0770 force group = users I have a default ACL on the gluster volume, as well as setgid. # getfacl mount-test/ # file: mount-test/ # owner: root # group: users # flags: -s- user::rwx group::rwx other::--- default:user::rwx default:group::rwx default:other::---
I would need more info: - full Samba configuration (all files, our output of 'testparm') - log files of samba, especially also the vfs-gluster log Could you also repeat the test on a vfs-glusterfs share without the 'force group' and 'write list' options? Just to check whether these are related.
I was missing "kernel share modes = No" under the share definition. I think the biggest hurdle is hard to find documentation. Someone on the mailing list helped me out with this, but it should be easy to find. With a Google search I can find the info in a couple blog posts(1)(2), but not in the Gluster docs. Can you change this bug to a documentation bug so this gets fixed? 1. http://jonarcher.info/2014/09/gluster-cifs-zfs-kind-part-2/ 2. https://lalatendumohanty.wordpress.com/2014/02/11/using-glusterfs-with-samba-and-samba-vfs-plugin-for-glusterfs-on-fedora-20/
Recent versions of the vfs_glusterfs manual page have that documented: https://www.mankier.com/8/vfs_glusterfs It has also been brought to Samba 4.1 and 4.2: https://bugzilla.samba.org/show_bug.cgi?id=11117 Does that help?
This bug is being closed as GlusterFS-3.6 is nearing its End-Of-Life and only important security bugs will be fixed. If you still face this bug with the newer GlusterFS versions, please open a new bug.