[Gluster-devel] Question regarding to gluster and vfs
Raghavendra Talur
rtalur at redhat.com
Thu Aug 17 07:51:09 UTC 2017
On Wed, Aug 16, 2017 at 5:52 PM, Ilan Schwarts <ilan84 at gmail.com> wrote:
> Hi,
> So this is a bit odd case.
> I have created 2 servers nodes (running CentOS 7.3)
> From Client machine (CentOS 7.2) I mount to one of the nodes (nfs) using:
> [root at CentOS7286-64 mnt]# mount -t nfs
> L137B-GlusterFS-Node1.L137B-root.com:/volume1 /mnt/glustervianfs/
>
> When i created (touch) a file over the NFS:
> From Client Machine:
> [revivo at CentOS7286-64 glustervianfs]$ touch nfs3file
> [revivo at CentOS7286-64 glustervianfs]$ id revivo
> uid=2021(revivo) gid=2020(maccabi) groups=2020(maccabi),10(wheel)
>
> On Server machine:
> I monitor the file operations at VFS kernel level.
> I receive 1 event of file create, and 2 events of set attribute changes.
> What I see is that root creates the file (uid/gid of 0)
> And then root (also) use chown and chgrp to set security (attribute)
> of the new file.
>
> When i go to the glutser volume itself and ls -la,i do see the
> *correct* (2021 - revivo /2020 - revivo) uid/gid:
> [root at L137B-GlusterFS-Node1 volume1]# ls -lia
> total 24
> 11 drwxrwxrwx. 3 revivo maccabi 4096 Aug 10 12:13 .
> 2 drwxr-xr-x. 3 root root 4096 Aug 9 14:32 ..
> 12 drw-------. 16 root root 4096 Aug 10 12:13 .glusterfs
> 31 -rw-r--r--. 2 revivo maccabi 0 Aug 10 12:13 nfs3file
>
> Why on the VFS layer i get uid/gid - 0/0
As you have pointed out above, the file is created with 0:0
owner:group but subsequent operations change owner and group using
chown and chgrp. This is because the glusterfsd(brick daemon) process
always runs as root. I don't know the exact reason why setfsuid and
setfsgid are not used although the code exist.
Amar/Pranith/Raghavendra/Vijay,
Do you know why HAVE_SET_FSID is undefined in line
https://github.com/gluster/glusterfs/blob/master/xlators/storage/posix/src/posix.c#L65
Thanks,
Raghavendra Talur
More information about the Gluster-devel
mailing list