btrfs-progs: Avoid interpreting options after "--" when getting unit mode
authorSatoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Mon, 14 Mar 2016 00:02:34 +0000 (09:02 +0900)
committerDavid Sterba <dsterba@suse.com>
Mon, 14 Mar 2016 12:42:47 +0000 (13:42 +0100)
* actual result

  ======================================
  # ./btrfs device usage -- -m /btrfs

  /dev/sdf1, ID: 1
     Device size:          95367.41MiB
     Data,single:          2056.00MiB
     Metadata,DUP:         2048.00MiB
     System,DUP:             16.00MiB
     Unallocated:          91247.41MiB
  ======================================

* expected result

  ======================================
  # ./btrfs device usage -- -m /btrfs

  ERROR: can't access '-m': No such file or directory
  ======================================

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
utils.c

diff --git a/utils.c b/utils.c
index d7ceaa8..77f0f68 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -3024,6 +3024,9 @@ unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode)
        int arg_end;
 
        for (arg_i = 0; arg_i < *argc; arg_i++) {
+               if (!strcmp(argv[arg_i], "--"))
+                       break;
+
                if (!strcmp(argv[arg_i], "--raw")) {
                        unit_mode = UNITS_RAW;
                        argv[arg_i] = NULL;