diff options
author | Andres Freund <andres@anarazel.de> | 2018-01-03 12:00:11 -0800 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2018-01-03 12:39:59 -0800 |
commit | ea4cbf8f1050b490d3040e659598bee63494288d (patch) | |
tree | a39905c71ce7064988675c1c42cba4d63481d752 /src | |
parent | d329d2d3e49662eb41b1fec74d55d4738394ba7d (diff) | |
download | postgresql-ea4cbf8f1050b490d3040e659598bee63494288d.tar.gz postgresql-ea4cbf8f1050b490d3040e659598bee63494288d.zip |
Rename pg_rewind's copy_file_range() to avoid conflict with new linux syscall.
Upcoming versions of glibc will contain copy_file_range(2), a wrapper
around a new linux syscall for in-kernel copying of data ranges. This
conflicts with pg_rewinds function of the same name.
Therefore rename pg_rewinds version. As our version isn't a generic
copying facility we decided to choose a rewind specific function name.
Per buildfarm animal caiman and subsequent discussion with Tom Lane.
Author: Andres Freund
Discussion:
https://postgr.es/m/20180103033425.w7jkljth3e26sduc@alap3.anarazel.de
https://postgr.es/m/31122.1514951044@sss.pgh.pa.us
Backpatch: 9.5-, where pg_rewind was introduced
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_rewind/copy_fetch.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/bin/pg_rewind/copy_fetch.c b/src/bin/pg_rewind/copy_fetch.c index 168d040881c..964c5410600 100644 --- a/src/bin/pg_rewind/copy_fetch.c +++ b/src/bin/pg_rewind/copy_fetch.c @@ -158,7 +158,7 @@ recurse_dir(const char *datadir, const char *parentpath, * If 'trunc' is true, any existing file with the same name is truncated. */ static void -copy_file_range(const char *path, off_t begin, off_t end, bool trunc) +rewind_copy_file_range(const char *path, off_t begin, off_t end, bool trunc) { char buf[BLCKSZ]; char srcpath[MAXPGPATH]; @@ -224,7 +224,7 @@ copy_executeFileMap(filemap_t *map) break; case FILE_ACTION_COPY: - copy_file_range(entry->path, 0, entry->newsize, true); + rewind_copy_file_range(entry->path, 0, entry->newsize, true); break; case FILE_ACTION_TRUNCATE: @@ -232,7 +232,8 @@ copy_executeFileMap(filemap_t *map) break; case FILE_ACTION_COPY_TAIL: - copy_file_range(entry->path, entry->oldsize, entry->newsize, false); + rewind_copy_file_range(entry->path, entry->oldsize, + entry->newsize, false); break; case FILE_ACTION_CREATE: @@ -259,7 +260,7 @@ execute_pagemap(datapagemap_t *pagemap, const char *path) while (datapagemap_next(iter, &blkno)) { offset = blkno * BLCKSZ; - copy_file_range(path, offset, offset + BLCKSZ, false); + rewind_copy_file_range(path, offset, offset + BLCKSZ, false); /* Ok, this block has now been copied from new data dir to old */ } pg_free(iter); |