diff options
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 6 | ||||
| -rw-r--r-- | cli/src/cli.c | 7 | ||||
| -rw-r--r-- | cli/src/cli.h | 1 | ||||
| -rw-r--r-- | tests/bugs/bug-948729/bug-948729-mode-script.t | 43 | ||||
| -rw-r--r-- | tests/bugs/bug-948729/bug-948729.t | 3 | ||||
| -rw-r--r-- | tests/include.rc | 2 | 
6 files changed, 26 insertions, 36 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index f11fa21db96..f3b1828a0c7 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -395,7 +395,7 @@ cli_cmd_volume_create_cbk (struct cli_state *state, struct cli_cmd_word *word,                  }          } -        if (state->mode & GLUSTER_MODE_SCRIPT) { +        if (state->mode & GLUSTER_MODE_WIGNORE) {                  ret = dict_set_int32 (options, "force", _gf_true);                  if (ret) {                          gf_log ("cli", GF_LOG_ERROR, "Failed to set force " @@ -981,7 +981,7 @@ cli_cmd_volume_add_brick_cbk (struct cli_state *state,                  }          } -        if (state->mode & GLUSTER_MODE_SCRIPT) { +        if (state->mode & GLUSTER_MODE_WIGNORE) {                  ret = dict_set_int32 (options, "force", _gf_true);                  if (ret) {                          gf_log ("cli", GF_LOG_ERROR, "Failed to set force " @@ -1552,7 +1552,7 @@ cli_cmd_volume_replace_brick_cbk (struct cli_state *state,                  goto out;          } -        if (state->mode & GLUSTER_MODE_SCRIPT) { +        if (state->mode & GLUSTER_MODE_WIGNORE) {                  ret = dict_set_int32 (options, "force", _gf_true);                  if (ret) {                          gf_log ("cli", GF_LOG_ERROR, "Failed to set force" diff --git a/cli/src/cli.c b/cli/src/cli.c index 67f1ad25793..a77200c6692 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -326,14 +326,21 @@ cli_opt_parse (char *opt, struct cli_state *state)                  return 0;          } +        if (strcmp (opt, "wignore") == 0) { +                state->mode |= GLUSTER_MODE_WIGNORE; +                return 0; +        } +          oarg = strtail (opt, "mode=");          if (oarg) {                  if (strcmp (oarg, "script") == 0) {                          state->mode |= GLUSTER_MODE_SCRIPT;                          return 0;                  } +                  if (strcmp (oarg, "interactive") == 0)                          return 0; +                  return -1;          } diff --git a/cli/src/cli.h b/cli/src/cli.h index 1fe8ffff7fb..f5db29383c0 100644 --- a/cli/src/cli.h +++ b/cli/src/cli.h @@ -45,6 +45,7 @@ enum argp_option_keys {  #define GLUSTER_MODE_SCRIPT    (1 << 0)  #define GLUSTER_MODE_ERR_FATAL (1 << 1)  #define GLUSTER_MODE_XML       (1 << 2) +#define GLUSTER_MODE_WIGNORE   (1 << 3)  #define GLUSTERD_GET_QUOTA_AUX_MOUNT_PATH(abspath, volname, path)      \ diff --git a/tests/bugs/bug-948729/bug-948729-mode-script.t b/tests/bugs/bug-948729/bug-948729-mode-script.t index 541ca897d5f..5a1fdd3b1db 100644 --- a/tests/bugs/bug-948729/bug-948729-mode-script.t +++ b/tests/bugs/bug-948729/bug-948729-mode-script.t @@ -13,10 +13,6 @@ uuid1=`uuidgen`;  uuid2=`uuidgen`;  uuid3=`uuidgen`; -V1=patchy1 -V2=patchy2 -V3=patchy3 -  TEST launch_cluster 2;  TEST $CLI_1 peer probe $H2; @@ -24,17 +20,11 @@ TEST $CLI_1 peer probe $H2;  EXPECT_WITHIN 20 1 check_peers;  B3=/d/backends/3 -B4=/d/backends/4 -B5=/d/backends/5 -B6=/d/backends/6 -mkdir -p $B3 $B4 $B5 $B6 +mkdir -p $B3  TEST truncate -s 16M $B1/brick1  TEST truncate -s 16M $B2/brick2  TEST truncate -s 16M $B3/brick3 -TEST truncate -s 16M $B4/brick4 -TEST truncate -s 16M $B5/brick5 -TEST truncate -s 16M $B6/brick6  TEST LD1=`losetup --find --show $B1/brick1`  TEST mkfs.xfs $LD1 @@ -42,44 +32,35 @@ TEST LD2=`losetup --find --show $B2/brick2`  TEST mkfs.xfs $LD2  TEST LD3=`losetup --find --show $B3/brick3`  TEST mkfs.xfs $LD3 -TEST LD4=`losetup --find --show $B4/brick4` -TEST mkfs.xfs $LD4 -TEST LD5=`losetup --find --show $B5/brick5` -TEST mkfs.xfs $LD5 -TEST LD6=`losetup --find --show $B6/brick6` -TEST mkfs.xfs $LD6 -mkdir -p $B1/$V0 $B2/$V0 $B3/$V0 $B4/$V0 $B5/$V0 $B6/$V0 +mkdir -p $B1/$V0 $B2/$V0 $B3/$V0  TEST mount -t xfs $LD1 $B1/$V0  TEST mount -t xfs $LD2 $B2/$V0  TEST mount -t xfs $LD3 $B3/$V0 -TEST mount -t xfs $LD4 $B4/$V0 -TEST mount -t xfs $LD5 $B5/$V0 -TEST mount -t xfs $LD6 $B6/$V0 + +cli1=$(echo $CLI1 | sed 's/ --wignore//')  #Case 0: Parent directory of the brick is absent -TEST ! $CLI_1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2 +TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2  #Case 1: File system root being used as brick directory -TEST   $CLI_1 volume create $V0 $H1:$B5/$V0 $H2:$B6/$V0 +TEST   ! $cli1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0  #Case 2: Brick directory contains only one component -TEST   $CLI_1 volume create $V1 $H1:/$uuid1 $H2:/$uuid2 +TEST   ! $cli1 volume create $V0 $H1:/$uuid1 $H2:/$uuid2  #Case 3: Sub-directories of the backend FS being used as brick directory -TEST   $CLI_1 volume create $V2 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2 +TEST   $cli1 volume create $V0 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2  #add-brick tests -TEST ! $CLI_1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3 -TEST   $CLI_1 volume add-brick $V0 $H1:$B3/$V0 -TEST   $CLI_1 volume add-brick $V1 $H1:/$uuid3 -TEST   $CLI_1 volume add-brick $V2 $H1:$B4/$V0/brick3 +TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3 +TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0 +TEST ! $cli1 volume add-brick $V0 $H1:/$uuid3 +TEST   $cli1 volume add-brick $V0 $H1:$B3/$V0/brick3  #####replace-brick tests  #FIX-ME : replace-brick does not currently work in the newly introduced  #####cluster test framework -rmdir /$uuid1 /$uuid2 /$uuid3 -  cleanup; diff --git a/tests/bugs/bug-948729/bug-948729.t b/tests/bugs/bug-948729/bug-948729.t index f94db1ea055..3914a454c53 100644 --- a/tests/bugs/bug-948729/bug-948729.t +++ b/tests/bugs/bug-948729/bug-948729.t @@ -40,8 +40,9 @@ TEST mount -t xfs $LD1 $B1/$V0  TEST mount -t xfs $LD2 $B2/$V0  TEST mount -t xfs $LD3 $B3/$V0 -#Tests without --mode=script option +#Tests without options 'mode=script' and 'wignore'  cli1=$(echo $CLI1 | sed 's/ --mode=script//') +cli1=$(echo $cli1 | sed 's/ --wignore//')  #Case 0: Parent directory of the brick is absent  TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2 diff --git a/tests/include.rc b/tests/include.rc index 40dd8ac96b9..0369d26109b 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -8,7 +8,7 @@ H0=${H0:=`hostname --fqdn`};  # hostname  DEBUG=${DEBUG:=0}             # turn on debugging?  statedumpdir=`gluster --print-statedumpdir`; # Default directory for statedump -CLI="gluster --mode=script"; +CLI="gluster --mode=script --wignore";  mkdir -p $B0;  mkdir -p $M0 $M1;  | 
