Files
mirror_zfs/module/zfs
Alan Somers fa2cdaa604 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
(cherry picked from commit c17bdc4914)
2025-05-28 16:00:28 -07:00
..
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00