Reviewed by: Matt Ahrens <m...@delphix.com>
Reviewed by: Serapheim Dimitropoulos <serapheim.dimi...@delphix.com>

Problem
Illumos bug 8373 was integrated, which now presents a code path where 
"dmu_tx_assign" can fail.
When "dmu_tx_assign" fails, it will not issue the lwb that was passed in to 
"zil_lwb_write_issue".
As a result, when "zil_lwb_write_issue" returns, the lwb will still be in the 
"opened" state, just as it
was when "zil_lwb_write_issue" was originally called.

Solution
As a result of this new call path, the failed assertion needs to be modified to 
be aware of this new
possibility. Thus, we can only assert that the lwb is no longer in the "opened" 
state if the returned
lwb is non-null, since we cannot differentiate between the case of 
"dmu_tx_assign" failing or
"zio_alloc_zil" failing within the call to "zil_lwb_write_issue".

Upstream bug: DLPX-54539
You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/613

-- Commit Summary --

  * 9456 ztest failure in zil_commit_waiter_timeout

-- File Changes --

    M usr/src/uts/common/fs/zfs/zil.c (2)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/613.patch
https://github.com/openzfs/openzfs/pull/613.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/613

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/discussions/Tc2b63ce42d5012c2-M5345e505263919d02253000f
Delivery options: https://openzfs.topicbox.com/groups

Reply via email to