Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Serapheim Dimitropoulos <[email protected]>
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
