HomeFreeBSD

Fix commit callbacks

Description

Fix commit callbacks

The upstream commit cb code had a few bugs:

  1. The arguments of the list_move_tail() call in txg_dispatch_callbacks()

were reversed by mistake. This caused the commit callbacks to not be
called at all.

  1. ztest had a bug in ztest_dmu_commit_callbacks() where "error" was not

initialized correctly. This seems to have caused the test to always take
the simulated error code path, which made ztest unable to detect whether
commit cbs were being called for transactions that successfuly complete.

  1. ztest had another bug in ztest_dmu_commit_callbacks() where the commit

cb threshold was not being compared correctly.

  1. The commit cb taskq was using 'max_ncpus * 2' as the maxalloc argument

of taskq_create(), which could have caused unnecessary delays in the txg
sync thread.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>

Details

Provenance
Ricardo M. Correia <ricardo.correia@oracle.com>Authored on Aug 26 2010, 5:17 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Aug 31 2010, 3:38 PM
Parents
rGa6098088eb70: Fix minor acl issue
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG090ff0929ec7: Fix commit callbacks (authored by Ricardo M. Correia <ricardo.correia@oracle.com>).Aug 31 2010, 3:38 PM