mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	The __NR_fstatfs64 syscall is supported on all architectures but
aarch64, mips64, riscv64, and x86_64.  And newer ABIs also uses
the new fstatfs64 interface (where the struct size is used as
first argument).
So the default implementation now uses:
  1. __NR_fstatfs64 for non-LFS call and handle overflow directly
     There is no need to handle __NR_fstatfs since all architectures
     that only support are LFS only.
  2. __NR_fstatfs if defined or __NR_fstatfs64 otherwise for LFS
     call.
Alpha is the only outlier, it is a 64-bit architecture which
provides non-LFS interface and only provides __NR_fstatfs64 on
newer kernels (5.1+).
Checked on x86_64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
		
	
		
			
				
	
	
		
			17 lines
		
	
	
		
			477 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			477 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _SYS_STATFS_H
 | 
						|
#include <io/sys/statfs.h>
 | 
						|
 | 
						|
# ifndef _ISOMAC
 | 
						|
 | 
						|
/* Now define the internal interfaces.  */
 | 
						|
extern int __statfs (const char *__file, struct statfs *__buf);
 | 
						|
libc_hidden_proto (__statfs)
 | 
						|
extern int __fstatfs (int __fildes, struct statfs *__buf);
 | 
						|
libc_hidden_proto (__fstatfs)
 | 
						|
extern int __statfs64 (const char *__file, struct statfs64 *__buf)
 | 
						|
     attribute_hidden;
 | 
						|
extern int __fstatfs64 (int __fildes, struct statfs64 *__buf);
 | 
						|
 | 
						|
# endif /* !_ISOMAC */
 | 
						|
#endif
 |