17.7. Viewing complete volume state with statedump The statedump subcommand writes out details of the current state of a specified process, including internal variables and other information that is useful for troubleshooting. The command is used as follows: 17.7.1. Gathering information from the server You can output all available state information, or limit statedump output to specific details, by using the statedump command with one of the following parameters. all Dumps all available state information. mem Dumps the memory usage and memory pool details of the bricks. iobuf Dumps iobuf details of the bricks. priv Dumps private information of loaded translators. callpool Dumps the pending calls of the volume. fd Dumps the open file descriptor tables of the volume. inode Dumps the inode tables of the volume. history Dumps the event history of the volume For example, to write out all available information about the data volume, run the following command on the server: If you only want to see details about the event history, run the following: The nfs parameter is required to gather details about volumes shared via NFS. It can be combined with any of the above parameters to filter output. The quotad parameter is required to gather details about the quota daemon. The following command writes out the state of the quota daemon across all nodes. If you need to see the state of a different process, such as the self-heal daemon, you can do so by running the following command using the process identifier of that process. 17.7.2. Gathering information from the client The statedump subcommand writes out details of the current state of a specified process, including internal variables and other information that is useful for troubleshooting. To generate a statedump for client-side processes, using libgfapi, run the following command on a gluster node that is connected to the libgfapi application. Important If you are using either NFS Ganesha or Samba service and you need to see the state of its clients, ensure that you use localhost instead of hostname . For example: If you need to get the state of glusterfs fuse mount process, you can do so by running the following command using the process identifier of that process. Important If you have a gfapi based application and you need to see the state of its clients, ensure that the user running the gfapi application is a member of the gluster group. For example, if your gfapi application is run by user qemu, ensure that qemu is added to the gluster group by running the following command: 17.7.3. Controlling statedump output location Information is saved to the /var/run/gluster directory by default. Output files are named according to the following conventions: For brick processes, brick_path . brick_pid .dump For volume processes and kill command results, glusterdump- glusterd_pid .dump. timestamp To change where the output files of a particular volume are saved, use the server.statedump-path parameter, like so:

Commands:
gluster volume statedump VOLNAME [[nfs|quotad] [all|mem|iobuf|callpool|priv|fd|inode|history] | [client hostname : pid ]]
gluster volume statedump data all
gluster volume statedump data history
gluster volume statedump VOLNAME nfs all
gluster volume statedump VOLNAME quotad
kill -SIGUSR1 pid
gluster volume statedump VOLNAME client hostname : pid
gluster volume statedump VOLNAME client localhost: pid
kill -SIGUSR1 pid
usermod -a -G gluster qemu
gluster volume set VOLNAME server.statedump-path PATH