Resolves: bz#1350745 bz#1362129 bz#1541568 bz#1597252 bz#1599220 Resolves: bz#1633177 bz#1637564 bz#1639476 bz#1639568 bz#1643370 Resolves: bz#1645480 bz#1648296 bz#1648893 bz#1651040 bz#1651460 Resolves: bz#1652466 bz#1652537 bz#1653224 bz#1653613 bz#1654103 Resolves: bz#1654161 bz#1655385 bz#1655578 bz#1656357 bz#1659439 Signed-off-by: Milind Changire <mchangir@redhat.com>
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From f3982cf5bf3250ee29da3ea4477591c298780043 Mon Sep 17 00:00:00 2001
 | |
| From: Sunil Kumar Acharya <sheggodu@redhat.com>
 | |
| Date: Mon, 17 Dec 2018 16:37:21 +0530
 | |
| Subject: [PATCH 485/493] cluster/ec : Prevent volume create without redundant
 | |
|  brick
 | |
| 
 | |
| Problem:
 | |
| EC volumes can be created without any redundant brick.
 | |
| 
 | |
| Solution:
 | |
| Updated the conditional check to avoid volume create
 | |
| without redundant brick.
 | |
| 
 | |
| >fixes: bz#1642448
 | |
| >Change-Id: I0cb334b1b9378d67fcb8abf793dbe312c3179c0b
 | |
| >Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com>
 | |
| Upstream Patch: https://review.gluster.org/#/c/glusterfs/+/21478/
 | |
| 
 | |
| BUG: 1597252
 | |
| Change-Id: I0cb334b1b9378d67fcb8abf793dbe312c3179c0b
 | |
| Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com>
 | |
| Reviewed-on: https://code.engineering.redhat.com/gerrit/158910
 | |
| Tested-by: RHGS Build Bot <nigelb@redhat.com>
 | |
| ---
 | |
|  cli/src/cli-cmd-parser.c               | 6 +++---
 | |
|  tests/basic/glusterd/disperse-create.t | 1 +
 | |
|  2 files changed, 4 insertions(+), 3 deletions(-)
 | |
| 
 | |
| diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c
 | |
| index 3745fb4..e790d79 100644
 | |
| --- a/cli/src/cli-cmd-parser.c
 | |
| +++ b/cli/src/cli-cmd-parser.c
 | |
| @@ -275,9 +275,9 @@ cli_cmd_create_disperse_check (struct cli_state *state, int *disperse,
 | |
|                  tmp = *disperse - *redundancy;
 | |
|          }
 | |
|  
 | |
| -        if (*redundancy > (*disperse - 1) / 2) {
 | |
| -                cli_err ("redundancy must be less than %d for a "
 | |
| -                         "disperse %d volume",
 | |
| +        if ((*redundancy < 1) || (*redundancy > (*disperse - 1) / 2)) {
 | |
| +                cli_err ("redundancy must be greater than or equal to 1 and"
 | |
| +                         " less than %d for a disperse %d volume",
 | |
|                           (*disperse + 1) / 2, *disperse);
 | |
|  
 | |
|                  return -1;
 | |
| diff --git a/tests/basic/glusterd/disperse-create.t b/tests/basic/glusterd/disperse-create.t
 | |
| index e5ce74c..5b3ed13 100644
 | |
| --- a/tests/basic/glusterd/disperse-create.t
 | |
| +++ b/tests/basic/glusterd/disperse-create.t
 | |
| @@ -48,6 +48,7 @@ TEST ! $CLI volume create $V0 redundancy 1 redundancy 1 $H0:$B0/b20 $H0:$B0/b21
 | |
|  #Minimum counts test
 | |
|  TEST ! $CLI volume create $V0 disperse 2 $H0:$B0/b20 $H0:$B0/b22
 | |
|  TEST ! $CLI volume create $V0 disperse-data 1 redundancy 0 $H0:$B0/b20 $H0:$B0/b22
 | |
| +TEST ! $CLI volume create $V0 disperse 4 disperse-data 4 $H0:$B0/b20 $H0:$B0/b21 $H0:$B0/b23 $H0:$B0/b24
 | |
|  TEST ! $CLI volume create $V0 redundancy 0 $H0:$B0/b20 $H0:$B0/b22
 | |
|  
 | |
|  #Wrong count n != k+m
 | |
| -- 
 | |
| 1.8.3.1
 | |
| 
 |