zfs: cherry-pick fix from openzfs
Vendor PR: #15103 Remove zl_issuer_lock from zil_suspend() Obtained from: OpenZFS OpenZFS commit: 2848de11e516a2ef2e6baa574a60d77a6fb47023 Note: full vendor imports will continue when stable/14 has been branched
This commit is contained in:
parent
cd25b0f740
commit
28d2e3b5de
@ -3941,13 +3941,11 @@ zil_suspend(const char *osname, void **cookiep)
|
|||||||
return (error);
|
return (error);
|
||||||
zilog = dmu_objset_zil(os);
|
zilog = dmu_objset_zil(os);
|
||||||
|
|
||||||
mutex_enter(&zilog->zl_issuer_lock);
|
|
||||||
mutex_enter(&zilog->zl_lock);
|
mutex_enter(&zilog->zl_lock);
|
||||||
zh = zilog->zl_header;
|
zh = zilog->zl_header;
|
||||||
|
|
||||||
if (zh->zh_flags & ZIL_REPLAY_NEEDED) { /* unplayed log */
|
if (zh->zh_flags & ZIL_REPLAY_NEEDED) { /* unplayed log */
|
||||||
mutex_exit(&zilog->zl_lock);
|
mutex_exit(&zilog->zl_lock);
|
||||||
mutex_exit(&zilog->zl_issuer_lock);
|
|
||||||
dmu_objset_rele(os, suspend_tag);
|
dmu_objset_rele(os, suspend_tag);
|
||||||
return (SET_ERROR(EBUSY));
|
return (SET_ERROR(EBUSY));
|
||||||
}
|
}
|
||||||
@ -3961,7 +3959,6 @@ zil_suspend(const char *osname, void **cookiep)
|
|||||||
if (cookiep == NULL && !zilog->zl_suspending &&
|
if (cookiep == NULL && !zilog->zl_suspending &&
|
||||||
(zilog->zl_suspend > 0 || BP_IS_HOLE(&zh->zh_log))) {
|
(zilog->zl_suspend > 0 || BP_IS_HOLE(&zh->zh_log))) {
|
||||||
mutex_exit(&zilog->zl_lock);
|
mutex_exit(&zilog->zl_lock);
|
||||||
mutex_exit(&zilog->zl_issuer_lock);
|
|
||||||
dmu_objset_rele(os, suspend_tag);
|
dmu_objset_rele(os, suspend_tag);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@ -3970,7 +3967,6 @@ zil_suspend(const char *osname, void **cookiep)
|
|||||||
dsl_pool_rele(dmu_objset_pool(os), suspend_tag);
|
dsl_pool_rele(dmu_objset_pool(os), suspend_tag);
|
||||||
|
|
||||||
zilog->zl_suspend++;
|
zilog->zl_suspend++;
|
||||||
mutex_exit(&zilog->zl_issuer_lock);
|
|
||||||
|
|
||||||
if (zilog->zl_suspend > 1) {
|
if (zilog->zl_suspend > 1) {
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user