mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Fix updating the zvol_htable when renaming a zvol
When renaming a zvol, insert it into zvol_htable using the new name, not the old name. Otherwise some operations won't work. For example, "zfs set volsize" while the zvol is open. Sponsored by: Axcient Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alek Pinchuk <apinchuk@axcient.com> Signed-off-by: Alan Somers <asomers@FreeBSD.org> Closes #16127 Closes #16128
This commit is contained in:
		
							parent
							
								
									61f3638a34
								
							
						
					
					
						commit
						3d4d61988a
					
				| @ -1273,7 +1273,7 @@ zvol_os_rename_minor(zvol_state_t *zv, const char *newname) | ||||
| 	ASSERT(MUTEX_HELD(&zv->zv_state_lock)); | ||||
| 
 | ||||
| 	/* Move to a new hashtable entry.  */ | ||||
| 	zv->zv_hash = zvol_name_hash(zv->zv_name); | ||||
| 	zv->zv_hash = zvol_name_hash(newname); | ||||
| 	hlist_del(&zv->zv_hlink); | ||||
| 	hlist_add_head(&zv->zv_hlink, ZVOL_HT_HEAD(zv->zv_hash)); | ||||
| 
 | ||||
|  | ||||
| @ -1564,7 +1564,7 @@ zvol_os_rename_minor(zvol_state_t *zv, const char *newname) | ||||
| 	strlcpy(zv->zv_name, newname, sizeof (zv->zv_name)); | ||||
| 
 | ||||
| 	/* move to new hashtable entry  */ | ||||
| 	zv->zv_hash = zvol_name_hash(zv->zv_name); | ||||
| 	zv->zv_hash = zvol_name_hash(newname); | ||||
| 	hlist_del(&zv->zv_hlink); | ||||
| 	hlist_add_head(&zv->zv_hlink, ZVOL_HT_HEAD(zv->zv_hash)); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Alan Somers
						Alan Somers