David Hedberg
37a27b4306
Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
...
If we receive a DRR_FREEOBJECTS as the first entry in an object range,
this might end up producing a hole if the freed objects were the
only existing objects in the block.
If the txg starts syncing before we've processed any following
DRR_OBJECT records, this leads to a possible race where the backing
arc_buf_t gets its psize set to 0 in the arc_write_ready() callback
while still being referenced from a dirty record in the open txg.
To prevent this, we insert a txg_wait_synced call if the first
record in the range was a DRR_FREEOBJECTS that actually
resulted in one or more freed objects.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: David Hedberg <david.hedberg@findity.com >
Sponsored by: Findity AB
Closes #11893
Closes #14358
2023-01-23 13:19:43 -08:00
..
2022-10-19 17:11:01 -07:00
2022-03-15 15:13:42 -07:00
2023-01-12 16:00:37 -08:00
2023-01-12 16:00:37 -08: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
2023-01-10 13:39:22 -08:00
2022-10-20 11:57:15 -07:00
2022-10-29 13:05:11 -07:00
2022-09-22 12:59:41 -07:00
2023-01-04 17:29:54 -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
2023-01-11 18:00:39 -08:00
2023-01-23 13:19:43 -08:00
2022-09-15 16:21:21 -07:00
2023-01-12 16:00:23 -08:00
2022-12-22 12:10:24 -08:00
2023-01-10 13:41:54 -08:00
2022-12-22 12:10:24 -08:00
2023-01-04 17:29:54 -07:00
2023-01-23 13:12:37 -08:00
2023-01-11 09:38:20 -08:00
2022-10-14 13:37:54 -07:00
2022-11-15 14:44:12 -08:00
2023-01-11 18:00:39 -08:00
2022-10-13 10:03:29 -07:00
2022-07-11 14:16:13 -07:00
2022-08-22 12:36:22 -07:00
2023-01-20 11:10:15 -08:00
2022-10-14 13:37:54 -07:00
2023-01-20 11:01:41 -08:00
2023-01-12 15:59:41 -08: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
2023-01-17 09:57:12 -08: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-12-09 10:48:33 -08:00
2022-10-14 13:37:54 -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-10-12 11:25:18 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2022-09-30 15:34:39 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-10-13 10:03:29 -07:00
2023-01-09 12:43:03 -08:00
2022-12-22 11:48:49 -08:00
2022-07-11 14:16:13 -07:00
2022-11-03 09:58:14 -07:00
2022-11-18 11:39:59 -08:00
2022-09-27 16:42:41 -07:00
2022-12-22 11:48:49 -08: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-11-29 09:56:16 -08: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
2023-01-12 16:00:03 -08:00
2022-10-13 10:03:29 -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-10-27 09:54:54 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-30 13:46:26 -08: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
2023-01-13 10:58:58 -08: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-11-28 13:49:58 -08:00
2022-12-02 17:42:22 -08:00
2022-10-19 15:48:13 -07:00
2022-12-09 10:48:33 -08:00
2022-07-11 14:16:13 -07:00
2022-10-28 10:16:31 -07:00
2023-01-23 13:14:25 -08:00
2022-10-20 11:57:15 -07:00
2023-01-10 13:41:54 -08:00
2023-01-12 16:00:37 -08:00
2022-10-14 13:37:54 -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
2023-01-10 13:27:48 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-01-12 15:59:12 -08:00
2023-01-23 13:14:25 -08:00
2023-01-12 16:00:30 -08:00
2023-01-17 09:57:12 -08:00
2022-10-28 09:49:20 -07:00
2022-11-03 09:52:12 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-08 10:28:56 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-01-12 15:59:12 -08:00
2022-11-08 12:38:08 -08:00
2022-09-30 15:34:39 -07:00
2022-10-18 11:05:32 -07:00
2022-09-27 16:35:29 -07:00
2023-01-09 16:43:45 -08:00
2022-07-11 14:16:13 -07:00
2022-11-29 09:26:03 -08:00
2022-03-23 08:51:00 -07:00
2023-01-17 09:57:12 -08:00