Alan Somers
c17bdc4914
More aggressively assert that db_mtx protects db.db_data
...
db.db_mtx must be held any time that db.db_data is accessed. All of
these functions do have the lock held by a parent; add assertions to
ensure that it stays that way.
See https://github.com/openzfs/zfs/discussions/17118
* Refactor dbuf_read_bonus to make it obvious why db_rwlock isn't
required.
* Refactor dbuf_hold_copy to eliminate the db_rwlock
Copy data into the newly allocated buffer before assigning it to the db.
That way, there will be no need to take db->db_rwlock.
* Refactor dbuf_read_hole
In the case of an indirect hole, initialize the newly allocated buffer
before assigning it to the dmu_buf_impl_t.
Sponsored by: ConnectWise
Signed-off-by: Alan Somers <asomers@gmail.com >
Closes #17209
2025-05-09 09:02:26 -04:00
..
2025-04-24 13:55:21 -04:00
2025-03-13 17:56:27 -07:00
2025-05-06 09:31:38 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-09 09:02:26 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-21 11:26:30 -04:00
2025-03-13 17:56:27 -07:00
2025-04-24 13:55:21 -04:00
2025-03-13 17:56:27 -07:00
2025-05-09 09:02:26 -04:00
2025-04-29 16:27:48 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-19 15:58:29 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:19:24 -07:00
2025-05-02 15:29:50 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-24 09:25:01 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 09:03:11 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2025-05-02 15:29:50 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:57:31 -07:00
2025-05-02 15:32:18 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-05-02 15:32:18 -07:00
2025-03-24 09:25:01 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-05-02 15:32:18 -07:00
2025-04-01 09:31:24 -04:00
2025-05-02 15:32:18 -07:00
2025-03-18 16:04:22 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-05-02 15:29:50 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-18 09:22:16 -04:00
2025-03-28 15:48:38 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-03 10:36:45 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-03 10:36:45 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-18 16:04:22 -07:00
2025-04-03 10:35:22 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-08 15:25:40 -04:00