forked from mirrors/linux
		
	md-cluster: change array_sectors and update size are not supported
Currently, some features are not supported yet, such as change array_sectors and update size, so return EINVAL for them and listed it in document. Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
		
							parent
							
								
									1535212c54
								
							
						
					
					
						commit
						ab5a98b132
					
				
					 2 changed files with 14 additions and 0 deletions
				
			
		| 
						 | 
					@ -316,3 +316,9 @@ The algorithm is:
 | 
				
			||||||
 nodes are using the raid which is achieved by lock all bitmap
 | 
					 nodes are using the raid which is achieved by lock all bitmap
 | 
				
			||||||
 locks within the cluster, and also those locks are unlocked
 | 
					 locks within the cluster, and also those locks are unlocked
 | 
				
			||||||
 accordingly.
 | 
					 accordingly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					7. Unsupported features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There are somethings which are not supported by cluster MD yet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update size and change array_sectors.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4817,6 +4817,10 @@ array_size_store(struct mddev *mddev, const char *buf, size_t len)
 | 
				
			||||||
	if (err)
 | 
						if (err)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* cluster raid doesn't support change array_sectors */
 | 
				
			||||||
 | 
						if (mddev_is_clustered(mddev))
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (strncmp(buf, "default", 7) == 0) {
 | 
						if (strncmp(buf, "default", 7) == 0) {
 | 
				
			||||||
		if (mddev->pers)
 | 
							if (mddev->pers)
 | 
				
			||||||
			sectors = mddev->pers->size(mddev, 0, 0);
 | 
								sectors = mddev->pers->size(mddev, 0, 0);
 | 
				
			||||||
| 
						 | 
					@ -6438,6 +6442,10 @@ static int update_size(struct mddev *mddev, sector_t num_sectors)
 | 
				
			||||||
	int rv;
 | 
						int rv;
 | 
				
			||||||
	int fit = (num_sectors == 0);
 | 
						int fit = (num_sectors == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* cluster raid doesn't support update size */
 | 
				
			||||||
 | 
						if (mddev_is_clustered(mddev))
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (mddev->pers->resize == NULL)
 | 
						if (mddev->pers->resize == NULL)
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
	/* The "num_sectors" is the number of sectors of each device that
 | 
						/* The "num_sectors" is the number of sectors of each device that
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue