Description of problem: server.statedump-path is the path where statedumps are stored, by default it is /var/run/gluster. And can be set to any valid directory path. It was observed that server.statedump-path was also accepting file, non-existent file and non-existent paths as well. And statedump command was successful even when statedumps with all the three invalid paths. Default: ################################################################################ # gluster v get rep all | grep server.statedump-path server.statedump-path /var/run/gluster/ ################################################################################ Setting it to a file and taking statedumps:(file exists) ################################################################################ # ls -l a.txt -rw-r--r--. 1 root root 0 Jul 1 16:38 a.txt # gluster v set rep server.statedump-path /root/a.txt volume set: success # gluster v statedump rep volume statedump: success # cat a.txt ################################################################################ Setting it to a file which doesn't exists and taking statedumps: ################################################################################ # gluster v set rep server.statedump-path /root/haha.txt volume set: success # gluster v statedump rep volume statedump: success # gluster v get rep all | grep server.statedump-path server.statedump-path /root/haha.txt ################################################################################ Setting to a dir which doesn't exists: ################################################################################ # gluster v set rep server.statedump-path /root/kshithij/ volume set: success # gluster v statedump rep volume statedump: success # gluster v get rep all | grep server.statedump-path server.statedump-path /root/kshithij/ ################################################################################ Version-Release number of selected component (if applicable): mainline How reproducible: constantly Steps to Reproduce: 1.Create a volume of type replica (1x3). 2.Set server.statedump-path to: a. A file b. A non-existent file c. A non-existent paths 3.Take statedunp using the gluster statedump command: # gluster v statedump rep Actual results: glusterd allowing to set server.statedump-path to file, non-existent file and non-existent paths. Expected results: glusterd shouldn't allow to set server.statedump-path to file, non-existent file and non-existent paths.
REVIEW: https://review.gluster.org/23945 (mgmt/glusterd: Adding validation for statedump path) posted (#6) for review on master by Yati Padia
REVIEW: https://review.gluster.org/23945 (mgmt/glusterd: Adding validation for statedump path) merged (#21) on master by Sanju Rakonde