Re: How understand some code execute client side or server side?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 03/10/2017 10:47 AM, Tahereh Fattahi wrote:
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.

Yes, you are on the right place. Fuse mount process log's the graph if the log level is INFO.

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?

Indeed, you are a quick learner. Translator with type protocol/client will be the last node in the graph which connects to the protocol/server loaded in server . protocol/server will be the starting node in server.


Regards
Rafi KC


On Thu, Mar 9, 2017 at 8:38 PM, Mohammed Rafi K C <rkavunga@xxxxxxxxxx> 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 list
Gluster-users@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-users
_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-users

[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux