mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	 64afc4e66e
			
		
	
	
		64afc4e66e
		
	
	
	
	
		
			
			The kernel is now being compiled with -Wmissing-prototypes. Most of our test stub functions had no prototype, and failed to compile. Since they don't need to be visible anywhere else, just make them all static. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Sponsored-by: https://despairlabs.com/sponsor/ Closes #15805
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_ITERATE], [
 | |
| 	ZFS_LINUX_TEST_SRC([file_operations_iterate_shared], [
 | |
| 		#include <linux/fs.h>
 | |
| 		static int iterate(struct file *filp, struct dir_context * context)
 | |
| 		    { return 0; }
 | |
| 
 | |
| 		static const struct file_operations fops
 | |
| 		    __attribute__ ((unused)) = {
 | |
| 			.iterate_shared	 = iterate,
 | |
| 		};
 | |
| 	],[])
 | |
| 
 | |
| 	ZFS_LINUX_TEST_SRC([file_operations_iterate], [
 | |
| 		#include <linux/fs.h>
 | |
| 		static int iterate(struct file *filp,
 | |
| 		    struct dir_context *context) { return 0; }
 | |
| 
 | |
| 		static const struct file_operations fops
 | |
| 		    __attribute__ ((unused)) = {
 | |
| 			.iterate	 = iterate,
 | |
| 		};
 | |
| 
 | |
| 		#if defined(FMODE_KABI_ITERATE)
 | |
| 		#error "RHEL 7.5, FMODE_KABI_ITERATE interface"
 | |
| 		#endif
 | |
| 	],[])
 | |
| 
 | |
| 	ZFS_LINUX_TEST_SRC([file_operations_readdir], [
 | |
| 		#include <linux/fs.h>
 | |
| 		static int readdir(struct file *filp, void *entry,
 | |
| 		    filldir_t func) { return 0; }
 | |
| 
 | |
| 		static const struct file_operations fops
 | |
| 		    __attribute__ ((unused)) = {
 | |
| 			.readdir = readdir,
 | |
| 		};
 | |
| 	],[])
 | |
| ])
 | |
| 
 | |
| AC_DEFUN([ZFS_AC_KERNEL_VFS_ITERATE], [
 | |
| 	dnl #
 | |
| 	dnl # 4.7 API change
 | |
| 	dnl #
 | |
| 	AC_MSG_CHECKING([whether fops->iterate_shared() is available])
 | |
| 	ZFS_LINUX_TEST_RESULT([file_operations_iterate_shared], [
 | |
| 		AC_MSG_RESULT(yes)
 | |
| 		AC_DEFINE(HAVE_VFS_ITERATE_SHARED, 1,
 | |
| 		    [fops->iterate_shared() is available])
 | |
| 	],[
 | |
| 		AC_MSG_RESULT(no)
 | |
| 
 | |
| 		dnl #
 | |
| 		dnl # 3.11 API change
 | |
| 		dnl #
 | |
| 		dnl # RHEL 7.5 compatibility; the fops.iterate() method was
 | |
| 		dnl # added to the file_operations structure but in order to
 | |
| 		dnl # maintain KABI compatibility all callers must set
 | |
| 		dnl # FMODE_KABI_ITERATE which is checked in iterate_dir().
 | |
| 		dnl # When detected ignore this interface and fallback to
 | |
| 		dnl # to using fops.readdir() to retain KABI compatibility.
 | |
| 		dnl #
 | |
| 		AC_MSG_CHECKING([whether fops->iterate() is available])
 | |
| 		ZFS_LINUX_TEST_RESULT([file_operations_iterate], [
 | |
| 			AC_MSG_RESULT(yes)
 | |
| 			AC_DEFINE(HAVE_VFS_ITERATE, 1,
 | |
| 			    [fops->iterate() is available])
 | |
| 		],[
 | |
| 			AC_MSG_RESULT(no)
 | |
| 
 | |
| 			dnl #
 | |
| 			dnl # readdir interface introduced
 | |
| 			dnl #
 | |
| 			AC_MSG_CHECKING([whether fops->readdir() is available])
 | |
| 			ZFS_LINUX_TEST_RESULT([file_operations_readdir], [
 | |
| 				AC_MSG_RESULT(yes)
 | |
| 				AC_DEFINE(HAVE_VFS_READDIR, 1,
 | |
| 				    [fops->readdir() is available])
 | |
| 			],[
 | |
| 				ZFS_LINUX_TEST_ERROR([vfs_iterate])
 | |
| 			])
 | |
| 		])
 | |
| 	])
 | |
| ])
 |