 963cee15e8
			
		
	
	963cee15e8
	
	
	
		
			
			Backported upstream patch.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 39035df71c)
		
	
		
			
				
	
	
		
			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;
 | |
|  }
 |