mirror_zfs/tests/zfs-tests
Chunwei Chen c7a4255f12 Fix zil replay panic when TX_REMOVE followed by TX_CREATE
If TX_REMOVE is followed by TX_CREATE on the same object id, we need to
make sure the object removal is completely finished before creation. The
current implementation relies on dnode_hold_impl with
DNODE_MUST_BE_ALLOCATED returning ENOENT. While this check seems to work
fine before, in current version it does not guarantee the object removal
is completed.

We fix this by checking if DNODE_MUST_BE_FREE returns successful
instead. Also add test and remove dead code in dnode_hold_impl.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Closes #7151
Closes #8910
Closes #9123
Closes #9145
2019-09-25 11:27:51 -07:00
..
callbacks ZTS: change $(cat) to $(<) for speedup 2018-10-31 12:00:06 -05:00
cmd Use sigaction(2) instead of sigset(3) for portability 2019-04-30 20:45:17 -07:00
include ZTS: Fix mmp_interval failure 2019-09-25 11:27:47 -07:00
tests Fix zil replay panic when TX_REMOVE followed by TX_CREATE 2019-09-25 11:27:51 -07:00
Makefile.am OpenZFS 7503 - zfs-test should tail ::zfs_dbgmsg on test failure 2017-04-12 13:36:48 -07:00