Skip unnecessary stat() calls in walkdir().
authorThomas Munro <tmunro@postgresql.org>
Mon, 7 Sep 2020 06:11:46 +0000 (18:11 +1200)
committerThomas Munro <tmunro@postgresql.org>
Mon, 7 Sep 2020 06:28:06 +0000 (18:28 +1200)
commit861c6e7c8e4dfdd842442dde47cc653764baff4f
tree59e93bee1eb19525460711f762293c894791cc62
parentf0942b1327e8fa32b38a02eaff627c16b517c3f9
Skip unnecessary stat() calls in walkdir().

Some kernels can tell us the type of a "dirent", so we can avoid a call
to stat() or lstat() in many cases.  Define a new function
get_dirent_type() to contain that logic, for use by the backend and
frontend versions of walkdir(), and perhaps other callers in future.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
Discussion: https://postgr.es/m/CA%2BhUKG%2BFzxupGGN4GpUdbzZN%2Btn6FQPHo8w0Q%2BAPH5Wz8RG%2Bww%40mail.gmail.com
src/backend/storage/file/fd.c
src/common/Makefile
src/common/file_utils.c
src/include/common/file_utils.h
src/tools/msvc/Mkvcbuild.pm
src/tools/pgindent/typedefs.list