Bug 854208 - CLI: glusterfs --help is not properly alligned with respect to options
CLI: glusterfs --help is not properly alligned with respect to options
Status: CLOSED WONTFIX
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: glusterfs (Show other bugs)
2.0
x86_64 Linux
low Severity medium
: ---
: ---
Assigned To: Bug Updates Notification Mailing List
Rahul Hinduja
: Reopened
Depends On:
Blocks: 858500
  Show dependency treegraph
 
Reported: 2012-09-04 07:15 EDT by Rahul Hinduja
Modified: 2015-03-23 03:40 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 858500 (view as bug list)
Environment:
Last Closed: 2012-09-04 07:21:48 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Rahul Hinduja 2012-09-04 07:15:14 EDT
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@gluster.org>.
[root@unused ~]# 


Expected results:

All the options should be left alligned. Only sub-options should be part of parent option.

Additional info:
Comment 2 Amar Tumballi 2012-09-04 07:21:48 EDT
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.
Comment 3 Rahul Hinduja 2012-09-04 08:06:22 EDT
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
Comment 4 Vivek Agarwal 2015-03-23 03:40:26 EDT
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
Comment 5 Vivek Agarwal 2015-03-23 03:40:46 EDT
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

Note You need to log in before you can comment on or make changes to this bug.