blob: 77eaccebeeb27d9aed00ed60573acaeb9fb25ae6 [file] [log] [blame]
This backports an upstream patch to fix build time issue with glibc 2.27
commit 8041435de7ed028a27ecca64302945ad455c69a6
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date: Mon Feb 5 14:38:02 2018 -0600
xfs_io: fix copy_file_range symbol name collision
glibc 2.27 has a copy_file_range wrapper, so we need to change our
internal function out of the way to avoid compiler warnings.
Reported-by: fredrik@crux.nu
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
diff --git a/io/copy_file_range.c b/io/copy_file_range.c
index d1dfc5a5..99fba20a 100644
--- a/io/copy_file_range.c
+++ b/io/copy_file_range.c
@@ -42,13 +42,18 @@ copy_range_help(void)
"));
}
+/*
+ * Issue a raw copy_file_range syscall; for our test program we don't want the
+ * glibc buffered copy fallback.
+ */
static loff_t
-copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
+copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
{
loff_t ret;
do {
- ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
+ ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
+ len, 0);
if (ret == -1) {
perror("copy_range");
return errno;
@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
copy_dst_truncate();
}
- ret = copy_file_range(fd, &src, &dst, len);
+ ret = copy_file_range_cmd(fd, &src, &dst, len);
close(fd);
return ret;
}