git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid gcc -Werror=maybe-uninitialized warnings
[zfs.git]
/
module
/
zfs
/
zvol.c
diff --git
a/module/zfs/zvol.c
b/module/zfs/zvol.c
index
d4d533f
..
c6cfac2
100644
(file)
--- a/
module/zfs/zvol.c
+++ b/
module/zfs/zvol.c
@@
-920,24
+920,20
@@
zvol_first_open(zvol_state_t *zv)
/* lie and say we're read-only */
error = dmu_objset_own(zv->zv_name, DMU_OST_ZVOL, 1, zvol_tag, &os);
/* lie and say we're read-only */
error = dmu_objset_own(zv->zv_name, DMU_OST_ZVOL, 1, zvol_tag, &os);
-
- if (locked)
- mutex_exit(&spa_namespace_lock);
-
if (error)
if (error)
-
return (-error)
;
+
goto out_mutex
;
error = zap_lookup(os, ZVOL_ZAP_OBJ, "size", 8, 1, &volsize);
if (error) {
error = zap_lookup(os, ZVOL_ZAP_OBJ, "size", 8, 1, &volsize);
if (error) {
- dmu_objset_disown(os, zvol_tag);
-
return (-error)
;
+ dmu_objset_disown(os, zvol_tag);
+
goto out_mutex
;
}
zv->zv_objset = os;
error = dmu_bonus_hold(os, ZVOL_OBJ, zvol_tag, &zv->zv_dbuf);
if (error) {
}
zv->zv_objset = os;
error = dmu_bonus_hold(os, ZVOL_OBJ, zvol_tag, &zv->zv_dbuf);
if (error) {
- dmu_objset_disown(os, zvol_tag);
-
return (-error)
;
+ dmu_objset_disown(os, zvol_tag);
+
goto out_mutex
;
}
set_capacity(zv->zv_disk, volsize >> 9);
}
set_capacity(zv->zv_disk, volsize >> 9);
@@
-946,13
+942,17
@@
zvol_first_open(zvol_state_t *zv)
VERIFY(dsl_prop_get_integer(zv->zv_name, "readonly", &ro, NULL) == 0);
if (ro || dmu_objset_is_snapshot(os)) {
VERIFY(dsl_prop_get_integer(zv->zv_name, "readonly", &ro, NULL) == 0);
if (ro || dmu_objset_is_snapshot(os)) {
-
set_disk_ro(zv->zv_disk, 1);
- zv->zv_flags |= ZVOL_RDONLY;
+ set_disk_ro(zv->zv_disk, 1);
+ zv->zv_flags |= ZVOL_RDONLY;
} else {
} else {
-
set_disk_ro(zv->zv_disk, 0);
- zv->zv_flags &= ~ZVOL_RDONLY;
+ set_disk_ro(zv->zv_disk, 0);
+ zv->zv_flags &= ~ZVOL_RDONLY;
}
}
+out_mutex:
+ if (locked)
+ mutex_exit(&spa_namespace_lock);
+
return (-error);
}
return (-error);
}