mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
|
From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
|
||
|
From: "Darrick J. Wong" <darrick.wong@oracle.com>
|
||
|
Date: Mon, 5 Feb 2018 14:38:02 -0600
|
||
|
Subject: [PATCH] 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>
|
||
|
---
|
||
|
io/copy_file_range.c | 11 ++++++++---
|
||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||
|
|
||
|
--- 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;
|
||
|
}
|