Today, I was trying to think about cases when we can return BLK_DONE in XLogReadBufferForRedoExtended. One thing that occurred to me is that it can happen during the replay of WAL if the full_page_writes is off. Basically, when the full_page_writes is on, then during crash recovery, it will always first restore the full page image of page and then apply the WAL corresponding to that page, so we will never hit the case where the lsn of the page is greater than lsn of WAL record.
Are there other cases for which we can get BLK_DONE state? Is it mentioned somewhere in code/comments which I am missing? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers