xfsprogs: Fix compilation with newer musl
Backported upstream patch.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 39035df71c)
			
			
This commit is contained in:
		
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			
						parent
						
							5d30ff1bc6
						
					
				
				
					commit
					963cee15e8
				
			
							
								
								
									
										48
									
								
								package/utils/xfsprogs/patches/140-copy-file-range.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								package/utils/xfsprogs/patches/140-copy-file-range.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| 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; | ||||
|  } | ||||
		Reference in New Issue
	
	Block a user