Serapheim Dimitropoulos
4acc36ed7c
Fix panic in dsl_process_sub_livelist for EINTR
...
= Issue
Recently we hit an assertion panic in `dsl_process_sub_livelist` while
exporting the spa and interrupting `bpobj_iterate_nofree`. In that case
`bpobj_iterate_nofree` stops mid-way returning an EINTR without clearing
the intermediate AVL tree that keeps track of the livelist entries it
has encountered so far. At that point the code has a VERIFY for the
number of elements of the AVL expecting it to be zero (which is not the
case for EINTR).
= Fix
Cleanup any intermediate state before destroying the AVL when
encountering EINTR. Also added a comment documenting the scenario where
the EINTR comes up. There is no need to do anything else for the calles
of `dsl_process_sub_livelist` as they already handle the EINTR case.
Reviewed-by: Matthew Ahrens <mahrens@delphix.com >
Reviewed-by: Mark Maybee <mark.maybee@delphix.com >
Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu >
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com >
Closes #13939
2022-09-29 09:39:48 -07:00
..
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-09-27 16:42:41 -07:00
2022-06-21 14:32:09 -07:00
2022-03-15 15:13:42 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-16 13:52:25 -07:00
2022-09-15 16:22:33 -07:00
2022-07-20 17:14:06 -07:00
2022-09-22 12:59:41 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2022-08-25 13:33:32 -07:00
2022-09-27 16:42:41 -07:00
2022-09-15 16:21:21 -07:00
2022-09-27 16:47:24 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 17:38:03 -07:00
2022-07-11 14:16:13 -07:00
2022-09-12 09:55:37 -07:00
2022-06-29 14:08:59 -07:00
2022-08-22 17:42:01 -07:00
2022-09-27 16:47:24 -07:00
2022-09-29 09:39:48 -07:00
2022-07-11 14:16:13 -07:00
2022-08-22 12:36:22 -07:00
2022-09-27 16:35:29 -07:00
2022-09-27 16:42:41 -07:00
2022-09-27 16:35:29 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-09-19 17:32:18 -07:00
2022-09-28 09:48:46 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-09-12 09:55:37 -07:00
2022-09-28 09:48:46 -07:00
2022-09-27 16:42:41 -07:00
2022-09-28 09:48:46 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2020-11-13 13:51:51 -08:00
2022-09-12 12:51:17 -07:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-08 10:30:53 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-06 09:43:21 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-08 10:30:53 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-28 09:48:46 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:35:29 -07:00
2018-02-08 15:29:24 -08:00
2022-01-14 15:37:55 -08:00
2020-02-14 13:41:42 -08:00
2022-09-02 13:31:19 -07:00
2022-06-29 14:08:59 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-16 14:25:53 -07:00
2022-09-29 09:02:57 -07:00
2022-07-11 14:16:13 -07:00
2022-09-28 09:48:46 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-16 13:36:47 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:35:29 -07:00
2022-09-28 09:48:46 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-03-23 08:51:00 -07:00
2022-09-23 16:52:03 -07:00