Good day, Andres and hackers. 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. -- regards Yura Sokolov aka funny-falcon
