]> granicus.if.org Git - postgresql/commit
Use pg_pread() and pg_pwrite() for data files and WAL.
authorThomas Munro <tmunro@postgresql.org>
Tue, 6 Nov 2018 20:51:50 +0000 (09:51 +1300)
committerThomas Munro <tmunro@postgresql.org>
Tue, 6 Nov 2018 20:51:50 +0000 (09:51 +1300)
commitc24dcd0cfd949bdf245814c4c2b3df828ee7db36
tree7b361229b1a9bb895894dff9eaa8a593be9e20ce
parent3fd2a7932ef0708dda57369bb20c0499d905cc82
Use pg_pread() and pg_pwrite() for data files and WAL.

Cut down on system calls by doing random I/O using offset-based OS
routines where available.  Remove the code for tracking the 'virtual'
seek position.  The only reason left to call FileSeek() was to get
the file's size, so provide a new function FileSize() instead.

Author: Oskari Saarenmaa, Thomas Munro
Reviewed-by: Thomas Munro, Jesper Pedersen, Tom Lane, Alvaro Herrera
Discussion: https://postgr.es/m/CAEepm=02rapCpPR3ZGF2vW=SBHSdFYO_bz_f-wwWJonmA3APgw@mail.gmail.com
Discussion: https://postgr.es/m/b8748d39-0b19-0514-a1b9-4e5a28e6a208%40gmail.com
Discussion: https://postgr.es/m/a86bd200-ebbe-d829-e3ca-0c4474b2fcb7%40ohmu.fi
src/backend/access/heap/rewriteheap.c
src/backend/access/transam/xlog.c
src/backend/storage/file/buffile.c
src/backend/storage/file/fd.c
src/backend/storage/smgr/md.c
src/include/storage/fd.h