Description of problem: glusterfs --help is not properly alligned with respect to options. Few options looks as the subsection of previous option. For example: -p, --pid-file=PIDFILE File to use as pid file --read-only Mount the filesystem in 'read-only' mode --selinux Enable SELinux label (extened attributes) support --read-only looks as the subsection of -p. In a general case all the options should be left alligned and only the subsection would not be left alligned. For verification, here is the help of yum utility "yum --help". -y, --assumeyes answer yes for all questions --assumeno answer no for all questions --version show Yum version and exit In the yum help, --assumeno is clearly shown as a seperate option not a sub section of -y Version-Release number of selected component (if applicable): glusterfs 3.3.0rhs built on Aug 17 2012 07:06:59 (glusterfs-3.3.0rhs-26.el6rhs.x86_64) How reproducible: 1/1 Steps to Reproduce: 1. use " glusterfs --help" Actual results: [root@unused ~]# glusterfs --help Usage: glusterfs [OPTION...] --volfile-server=SERVER [MOUNT-POINT] or: glusterfs [OPTION...] --volfile=VOLFILE [MOUNT-POINT] Basic options: -f, --volfile=VOLFILE File to use as VOLUME_FILE -l, --log-file=LOGFILE File to use for logging [default: /var/log/glusterfs/glusterfs.log] -L, --log-level=LOGLEVEL Logging severity. Valid options are DEBUG, INFO, WARNING, ERROR, CRITICAL and NONE [default: INFO] -s, --volfile-server=SERVER Server to get the volume file from. This option overrides --volfile option --volfile-max-fetch-attempts=MAX-ATTEMPTS Maximum number of connect attempts to server. This option should be provided with --volfile-server option[default: 1] Advanced Options: --acl Mount the filesystem with POSIX ACL support --debug Run in debug mode. This option sets --no-daemon, --log-level to DEBUG and --log-file to console --mac-compat[=BOOL] Provide stubs for attributes needed for seamless operation on Macs [default: "off"] -N, --no-daemon Run in foreground -p, --pid-file=PIDFILE File to use as pid file --read-only Mount the filesystem in 'read-only' mode --selinux Enable SELinux label (extened attributes) support on inodes -S, --socket-file=SOCKFILE File to use as unix-socket --volfile-id=KEY 'key' of the volfile to be fetched from server --volfile-server-port=PORT Listening port number of volfile server --volfile-server-transport=TRANSPORT Transport type to get volfile from server [default: socket] --volume-name=XLATOR-NAME Translator name to be used for MOUNT-POINT [default: top most volume definition in VOLFILE] --worm Mount the filesystem in 'worm' mode --xlator-option=XLATOR-NAME.OPTION=VALUE Add/override an option for a translator in volume file with specified value Fuse options: --attribute-timeout=SECONDS Set attribute timeout to SECONDS for inodes in fuse kernel module [default: 1] --direct-io-mode[=BOOL] Use direct I/O mode in fuse kernel module [default: "off" if big writes are supported, else "on" for fds not opened with O_RDONLY] --dump-fuse=PATH Dump fuse traffic to PATH --entry-timeout=SECONDS Set entry timeout to SECONDS in fuse kernel module [default: 1] --volfile-check Enable strict volume file checking Miscellaneous Options: -?, --help Give this help list --usage Give a short usage message -V, --version Print program version Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. Report bugs to <gluster-users>. [root@unused ~]# Expected results: All the options should be left alligned. Only sub-options should be part of parent option. Additional info:
we use argp library for handling the options. Hence I would not be treating it as a bug. try checking 'ls --help' etc... it has similar behavior as glusterfs.
What I have seen with "ls --help" are the options are subsection of the command. For example "ls --help" shows some info as -A, --almost-all do not list implied . and .. --author with -l, print the author of each file Where --author can be separately used to print author of each file, but when used with "-A --author" it displays the author for more number of files. This can be considered as "--author" be a subsection of "-A" Similar with other option of "ls --help" -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 But, in case of "glusterfs --help" it shows something like -p, --pid-file=PIDFILE File to use as pid file --read-only Mount the filesystem in 'read-only' mode --selinux Enable SELinux label (extened attributes) support on inodes here -p and --read-only are entirely different commands. When used as "-p --read-only" it considers as read-only text as the pid. Which is incorrect. To weight this statement. I have tried following cases: Case 1: Use --read-only separately to mount [root@unused ~]# /usr/sbin/glusterfs --read-only --volfile-id=/vol-replicate --volfile-server=10.70.1.115 /mnt/temp-2 [root@unused ~]# mount | grep vol-replicate Case 2: Use --read-only with -p option [root@unused ~]# /usr/sbin/glusterfs -p --read-only --volfile-id=/vol-replicate --volfile-server=10.70.1.115 /mnt/temp-2 [root@unused ~]# mount | grep vol-replicate 10.70.1.115:/vol-replicate on /mnt/temp-2 type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072) In case 1 it didn't mount, this is similar to the bug raised 853895 that glusterfs mount is failed for ro But in case 2 it is succeeded, probably because it considered --read-only text as the pid for -p option. So in case of this bug it should have shown me something like -p, --pid-file=PIDFILE File to use as pid file --read-only Mount the filesystem in 'read-only' mode --selinux Enable SELinux label (extened attributes) support on inodes
The product version of Red Hat Storage on which this issue was reported has reached End Of Life (EOL) [1], hence this bug report is being closed. If the issue is still observed on a current version of Red Hat Storage, please file a new bug report on the current version. [1] https://rhn.redhat.com/errata/RHSA-2014-0821.html