Chunwei Chen
035e96118b
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-08-28 10:42:02 -07:00
..
2019-07-18 13:02:33 -07:00
2019-03-29 09:13:20 -07:00
2019-06-11 09:02:31 -07:00
2018-09-26 10:29:26 -07:00
2019-08-16 09:08:21 -06:00
2010-09-08 12:38:56 -07:00
2019-07-26 10:54:14 -07:00
2019-07-26 10:54:14 -07:00
2019-06-19 09:48:12 -07:00
2018-06-06 09:35:59 -07:00
2019-07-08 13:18:50 -07:00
2019-06-19 14:54:02 -07:00
2019-06-19 09:48:12 -07:00
2019-07-26 10:54:14 -07:00
2019-06-19 09:48:12 -07:00
2019-06-19 09:48:12 -07:00
2019-06-19 09:48:12 -07:00
2019-06-19 09:48:12 -07:00
2018-09-26 10:29:26 -07:00
2019-07-25 11:57:58 -07:00
2019-07-26 10:54:14 -07:00
2019-08-28 10:42:02 -07:00
2019-06-22 16:32:26 -07:00
2019-06-20 12:29:51 -07:00
2019-06-19 09:48:12 -07:00
2019-08-20 11:34:52 -07:00
2019-06-24 16:44:01 -07:00
2019-07-26 10:54:14 -07:00
2019-07-26 10:54:14 -07:00
2019-07-26 10:54:14 -07:00
2019-06-22 16:51:46 -07:00
2013-11-04 11:17:48 -08:00
2019-07-16 10:11:49 -07:00
2019-08-16 09:08:21 -06:00
2019-08-16 09:08:21 -06:00
2019-06-25 12:03:38 -07:00
2018-07-30 11:30:03 -07:00
2018-10-03 15:30:55 -07:00
2019-06-19 09:48:12 -07:00
2019-07-15 13:57:56 -07:00
2016-06-07 09:16:52 -07:00
2019-08-05 14:34:27 -07:00
2019-08-13 21:24:43 -06:00
2018-09-26 10:29:26 -07:00
2018-09-26 10:29:26 -07:00
2019-01-13 10:09:46 -08:00
2016-06-02 14:30:51 -07:00
2019-08-13 08:11:57 -06:00
2019-07-16 10:11:49 -07:00
2019-08-13 21:24:43 -06:00
2019-07-16 10:11:49 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-07-08 11:20:53 -07:00
2019-06-22 16:51:46 -07:00
2010-09-08 12:38:56 -07:00
2010-09-08 12:38:56 -07:00
2017-07-13 13:54:00 -04:00
2018-07-23 15:40:15 -07:00
2019-07-16 10:11:49 -07:00
2018-04-14 12:16:17 -07:00
2019-03-29 09:13:20 -07:00
2019-07-12 09:31:20 -07:00
2019-07-12 09:31:20 -07:00
2019-06-13 13:12:39 -07:00
2019-03-29 09:13:20 -07:00
2019-03-29 09:13:20 -07:00
2018-04-18 14:19:50 -07:00
2019-06-12 13:13:09 -07:00
2018-02-08 15:28:18 -08:00
2019-06-22 16:51:46 -07:00
2016-05-17 11:52:07 -07:00
2018-02-13 14:54:54 -08:00
2019-07-17 09:18:24 -07:00
2017-03-10 09:51:33 -08:00
2019-07-16 10:11:49 -07:00
2018-05-29 16:00:33 -07:00
2019-06-19 09:48:12 -07:00
2018-09-06 21:44:52 -07:00
2019-06-19 09:48:12 -07:00
2019-08-27 09:55:51 -07:00
2019-06-10 11:48:42 -07:00
2019-06-10 11:48:42 -07:00
2017-03-29 12:24:51 -07:00
2019-06-13 13:14:34 -07:00
2018-05-02 15:36:20 -07:00
2019-03-29 09:13:20 -07:00
2019-03-29 09:13:20 -07:00
2019-06-19 14:54:02 -07:00
2019-07-26 10:54:14 -07:00