Hi, On 2026-03-25 17:51:30 +0300, Yura Sokolov wrote: > UnlockBufHdrExt does: > > buf_state |= set_bits; > buf_state &= ~unset_bits; > buf_state &= ~BM_LOCKED; > > TerminateBufferIO unconditionally does: > > unset_flag_bits |= BM_IO_ERROR; > > Due to this, AbortBufferIO and buffer_readv_complete_one are failed > to set BM_IO_ERROR with call to TerminateBufferIO. > > It was found with proprietary code that was triggered on > PGAIO_RS_ERROR and made assertion on BM_IO_ERROR presence.
That's clearly not right. Care to write a patch? I think we should add a test for this in src/test/modules/test_aio too. As we don't rely on things like BM_IO_ERROR this is quite easy to not notice. Greetings, Andres Freund
