Mohammed Rafi K C
2017-Mar-09 17:08 UTC
[Gluster-users] How understand some code execute client side or server side?
GlusterFS has mainly four daemons, ie glusterfs (generally client process), glusterfsd (generally brick process), glusterd (management daemon) and gluster (cli). Except cli (cli/src) all of them are basically the same binary symlinked to different name. So what makes them different is graphs, ie each daemons loads a graph and based on the graph it does it's job. Nodes of each graph are called xlators. So to figure out what are the xlators loaded in client side graph. You can see a client graph /var/lib/glusterd/vols/<volname>/trusted-<volname>.<protocol>-fuse.vol Once you figured out the xlators in client graph and their type, you can go to the source code, xlatos/<type>/<name>. Please note that, if an xlator loaded on client graph it doesn't mean that it will only run in client side. The same xlator can also run in server if we load a graph with that xlator loaded. Let me know if this is not helping you to understand Regards Rafi KC So glusterd and cli codes are always ran on servers. On 03/09/2017 08:28 PM, Tahereh Fattahi wrote:> Hi > Is there any way to understand that some code is running client side > or server side (from source code and its directories)? > Is it possible for some code to execute both client and server side? > > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://lists.gluster.org/mailman/listinfo/gluster-users-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20170309/d40c5b52/attachment.html>
Tahereh Fattahi
2017-Mar-10 05:17 UTC
[Gluster-users] How understand some code execute client side or server side?
Thank you very much, it is very helpful. I see the client graph also in /var/log/glusterfs/mnt-glusterfs.log when mount the file system. I think there is a tree structure between xlator (I had seen something in code like child and parent of each xlator), so just some of them are the point of connecting to server. I think xlator with type protocol/client is responsible for send request and get response from server. am I correct? On Thu, Mar 9, 2017 at 8:38 PM, Mohammed Rafi K C <rkavunga at redhat.com> wrote:> GlusterFS has mainly four daemons, ie glusterfs (generally client > process), glusterfsd (generally brick process), glusterd (management > daemon) and gluster (cli). > > Except cli (cli/src) all of them are basically the same binary symlinked > to different name. So what makes them different is graphs, ie each daemons > loads a graph and based on the graph it does it's job. > > > Nodes of each graph are called xlators. So to figure out what are the > xlators loaded in client side graph. You can see a client graph > /var/lib/glusterd/vols/<volname>/trusted-<volname>.<protocol>-fuse.vol > > Once you figured out the xlators in client graph and their type, you can > go to the source code, xlatos/<type>/<name>. > > > Please note that, if an xlator loaded on client graph it doesn't mean that > it will only run in client side. The same xlator can also run in server if > we load a graph with that xlator loaded. > > > Let me know if this is not helping you to understand > > > Regards > > Rafi KC > > > So glusterd and cli codes are always ran on servers. > On 03/09/2017 08:28 PM, Tahereh Fattahi wrote: > > Hi > Is there any way to understand that some code is running client side or > server side (from source code and its directories)? > Is it possible for some code to execute both client and server side? > > > _______________________________________________ > Gluster-users mailing listGluster-users at gluster.orghttp://lists.gluster.org/mailman/listinfo/gluster-users > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20170310/f50fb800/attachment.html>