Project

General

Profile

Bug #9456

ztest failure in zil_commit_waiter_timeout

Added by Brad Lewis over 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2018-04-11
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

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".

History

#1

Updated by Electric Monk about 1 year ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit b6031810da58df96413bf76e068638fcab1f228a

commit  b6031810da58df96413bf76e068638fcab1f228a
Author: Prakash Surya <prakash.surya@delphix.com>
Date:   2018-06-18T17:34:09.000Z

    9456 ztest failure in zil_commit_waiter_timeout
    Reviewed by: Matt Ahrens <matt@delphix.com>
    Reviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>
    Approved by: Matt Ahrens <mahrens@delphix.com>

Also available in: Atom PDF