mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 19:34:43 +01: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 <[email protected]> Reviewed-by: Alek Pinchuk <[email protected]> Signed-off-by: Alan Somers <[email protected]> Closes #16127 Closes #16128
This commit is contained in:
1 parent
317b31eedb
commit
21bc066ece
2 files changed
+2
-2
No files matched your search
@@ -1259,7 +1259,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));
|
||||
|
||||
|
||||
@@ -1571,7 +1571,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));
|
||||
|
||||
|
||||
Reference in new issue
Block a user