Re: Why we need to check for local buffers in BufferIsExclusiveLocked and BufferIsDirty?

Srinath Reddy Sadipiralla <srinath.reddy@zohocorp.com>

From: Srinath Reddy Sadipiralla <srinath.reddy@zohocorp.com>
To: "Andres Freund" <andres@anarazel.de>, "pgsql-hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2024-12-06T04:03:30Z
Lists: pgsql-hackers

Attachments

> ---- On Thu, 05 Dec 2024 21:11:42 +0530 Andres Freund <mailto:andres@anarazel.de> wrote ---



> Hi, 
 
> On 2024-12-05 18:38:16 +0530, Srinath Reddy Sadipiralla wrote: 
>> Why we need to check for local buffers in BufferIsExclusiveLocked and 
>> BufferIsDirty?,these 2 functions are called only from 
>> XlogRegisterBuffer,AFAIK which will be called only for permanent 
>> relations.Please correct me if i am wrong. 
 
> That's maybe true for in-core code today, but what guarantees that that's true 
> for the future? And what about code in extensions? 
 
> The gain by not dealing with local buffers in these functions is fairly small 
> too, so there's not really any reason for a change like yours. 
 
> - Andres 
 
 
hmm got it,if thats the case, for local buffers lockbuffer will skip acquiring content lock, so assert will fail in BufferIsDirty.



Regards,

Srinath Reddy Sadipiralla

Member of Technical Staff

Zoho

Commits

  1. Make BufferIsExclusiveLocked and BufferIsDirty work for local buffers.