From db5e56825e4b4c595885373c413011c50fedd3e8 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sun, 9 Jun 2024 09:51:02 +1200 Subject: [PATCH] Add comment for WaitReadBuffers(). Per complaint from Alvaro while reviewing something else. Reported-by: Alvaro Herrera Discussion: https://postgr.es/m/202406070805.icofqromovvn%40alvherre.pgsql --- src/backend/storage/buffer/bufmgr.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index a8e3377263f..409210a6ed2 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -1371,6 +1371,17 @@ WaitReadBuffersCanStartIO(Buffer buffer, bool nowait) return StartBufferIO(GetBufferDescriptor(buffer - 1), true, nowait); } +/* + * The second step of a StartReadBuffers(), WaitReadBuffers() sequence. It is + * only necessary to call this if StartReadBuffers() returned true, indicating + * that I/O was necessary. + * + * Currently, this function performs synchronous I/O system calls. The earlier + * StartReadBuffers() call might have issued advice to give the OS a head + * start so that it completes quickly. In future work, a true asynchronous I/O + * could be started by StartReadBuffers(), and this function would wait for it + * to complete. + */ void WaitReadBuffers(ReadBuffersOperation *operation) { -- 2.45.1