mirror of
https://github.com/opnsense/src.git
synced 2026-06-13 18:50:31 -04:00
Fix panic after ZVOL renamed to name invalid for DEVFS.
MFC after: 2 weeks
This commit is contained in:
parent
5bf51473c0
commit
f0cbbdecbc
1 changed files with 12 additions and 10 deletions
|
|
@ -782,8 +782,10 @@ zvol_remove_zv(zvol_state_t *zv)
|
|||
g_topology_lock();
|
||||
zvol_geom_destroy(zv);
|
||||
g_topology_unlock();
|
||||
} else if (zv->zv_volmode == ZFS_VOLMODE_DEV)
|
||||
destroy_dev(zv->zv_dev);
|
||||
} else if (zv->zv_volmode == ZFS_VOLMODE_DEV) {
|
||||
if (zv->zv_dev != NULL)
|
||||
destroy_dev(zv->zv_dev);
|
||||
}
|
||||
#endif
|
||||
|
||||
avl_destroy(&zv->zv_znode.z_range_avl);
|
||||
|
|
@ -2973,14 +2975,14 @@ zvol_rename_minor(zvol_state_t *zv, const char *newname)
|
|||
} else if (zv->zv_volmode == ZFS_VOLMODE_DEV) {
|
||||
struct make_dev_args args;
|
||||
|
||||
dev = zv->zv_dev;
|
||||
ASSERT(dev != NULL);
|
||||
zv->zv_dev = NULL;
|
||||
destroy_dev(dev);
|
||||
if (zv->zv_total_opens > 0) {
|
||||
zv->zv_flags &= ~ZVOL_EXCL;
|
||||
zv->zv_total_opens = 0;
|
||||
zvol_last_close(zv);
|
||||
if ((dev = zv->zv_dev) != NULL) {
|
||||
zv->zv_dev = NULL;
|
||||
destroy_dev(dev);
|
||||
if (zv->zv_total_opens > 0) {
|
||||
zv->zv_flags &= ~ZVOL_EXCL;
|
||||
zv->zv_total_opens = 0;
|
||||
zvol_last_close(zv);
|
||||
}
|
||||
}
|
||||
|
||||
make_dev_args_init(&args);
|
||||
|
|
|
|||
Loading…
Reference in a new issue