mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +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