Fix return value for setting zvol threading

We must return -1 instead of ENOENT if the special zvol threading
property set function can't locate the dataset (this would typically
happen with an encypted and unmounted zvol) so that the operation
gets inserted properly into the nvlist for operations to set. This
is because we want the property to be set once the zvol is
decrypted again.

Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Rob Norris <[email protected]>
Reviewed-by: Ameer Hamza <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Andrew Walker <[email protected]>
Closes #17836
This commit is contained in:
Andrew Walker authored and GitHub committed 2025-10-20 15:21:40 -07:00
1 parent 3ea8ca8c0f
commit adacf020ce
1 file changed
+1 -1
+1 -1
View File
@@ -410,7 +410,7 @@ zvol_set_volthreading(const char *name, boolean_t value)
{
zvol_state_t *zv = zvol_find_by_name(name, RW_NONE);
if (zv == NULL)
return (SET_ERROR(ENOENT));
return (-1);
zv->zv_threading = value;
mutex_exit(&zv->zv_state_lock);
return (0);