Fix errno check based on EINTR in pg_flush_data()

Michael Paquier <michael@paquier.xyz>

Commit: 5499be3325d8d7d53795214c98495f378c501fe1
Author: Michael Paquier <michael@paquier.xyz>
Date: 2026-04-30T09:44:43Z
Releases: 17.10
Fix errno check based on EINTR in pg_flush_data()

Upon a failure of sync_file_range(), EINTR was checked based on the
returned result of the routine rather than its errno.  sync_file_range()
returns -1 on failure, making the check a no-op, invalidating the retry
attempt in this case.

Oversight in 0d369ac65004.

Author: DaeMyung Kang <charsyam@gmail.com>
Discussion: https://postgr.es/m/20260429151811.1810874-1-charsyam@gmail.com
Backpatch-through: 16

Files

PathChange+/−
src/backend/storage/file/fd.c modified +1 −1

Discussion