Remove useless lstat() call in pg_rewind.
This is duplicative of an lstat that was just done by the calling function (traverse_datadir), besides which we weren't really doing anything with the results. There's not much point in checking to see if someone removed the file since the previous lstat, since the FILE_ACTION_REMOVE code would have to deal with missing-file cases anyway. Moreover, the "exists = false" assignment was a dead store; nothing was done with that value later. A syscall saved is a syscall earned, so back-patch to 9.5 where this code was introduced. Discussion: https://postgr.es/m/1221796.1599329320@sss.pgh.pa.us
This commit is contained in:
parent
cd153b54eb
commit
666e9a90f0
@ -349,8 +349,6 @@ process_target_file(const char *path, file_type_t type, size_t oldsize,
|
|||||||
const char *link_target)
|
const char *link_target)
|
||||||
{
|
{
|
||||||
bool exists;
|
bool exists;
|
||||||
char localpath[MAXPGPATH];
|
|
||||||
struct stat statbuf;
|
|
||||||
file_entry_t key;
|
file_entry_t key;
|
||||||
file_entry_t *key_ptr;
|
file_entry_t *key_ptr;
|
||||||
filemap_t *map = filemap;
|
filemap_t *map = filemap;
|
||||||
@ -362,16 +360,6 @@ process_target_file(const char *path, file_type_t type, size_t oldsize,
|
|||||||
* the source data folder when processing the source files.
|
* the source data folder when processing the source files.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
snprintf(localpath, sizeof(localpath), "%s/%s", datadir_target, path);
|
|
||||||
if (lstat(localpath, &statbuf) < 0)
|
|
||||||
{
|
|
||||||
if (errno != ENOENT)
|
|
||||||
pg_fatal("could not stat file \"%s\": %m",
|
|
||||||
localpath);
|
|
||||||
|
|
||||||
exists = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (map->array == NULL)
|
if (map->array == NULL)
|
||||||
{
|
{
|
||||||
/* on first call, initialize lookup array */
|
/* on first call, initialize lookup array */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user