I was getting really annoyed with this, I used full quotes around the filename and vi, cat, less all thought I was trying to pass the dash in the filename as an argument.
I didn't realize that all you have to do is just put a dash dash "--" in front.
Here's an example:
cat -- "-etc-glusterfs-glusterfsd.vol.log"
Without the -- you get:
cat: invalid option -- c
Try `cat --help' for more information.
I hope this saves someone else some trouble. I never thought that a dash of anything could fix such an annoying problem :)
I still think it's not preferable to have a filename which starts with a - but gusterfs thinks it is a smart thing for now.