use LW_SHARED in dsa_get_total_size()
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Rahila Syed <rahilasyed90@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-02T17:17:39Z
Lists: pgsql-hackers
Attachments
On Tue, Dec 02, 2025 at 10:31:33AM -0600, Nathan Bossart wrote: > On Tue, Dec 02, 2025 at 02:28:29PM +0530, Rahila Syed wrote: >> Thank you for highlighting the discussions. I'm unsure about the best >> approach here, but I think it would be safe to stay consistent with the >> rest of the code in dsa.c, especially since it's unclear that the use of >> LW_EXCLUSIVE for reading values in dsa is a mistake. > > Okay. I switched to LW_EXCLUSIVE and will consider starting a new thread > to use LW_SHARED when possible in dsa.c. Here is a patch that switches to LW_SHARED in dsa_get_total_size() and dsa_get_total_size_from_handle(). Another candidate was dsa_dump(), but that function appears to do some things that require more than a shared lock. In any case, it's just a debugging function, and I found no uses in-tree or elsewhere. -- nathan
Commits
-
Use LW_SHARED in dsa.c where possible.
- a6d05c819380 19 (unreleased) landed