X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=config%2Fkernel-vfs-iterate.m4;fp=config%2Fkernel-vfs-iterate.m4;h=c2c65622ca3cefbc66521b29f328dea5dc766f89;hb=0f37d0c8bed442dd0d2c1b1dddd68653fa6eec66;hp=0000000000000000000000000000000000000000;hpb=34e143323e359b42bc9d06dd19cc4b1f13091283;p=zfs.git diff --git a/config/kernel-vfs-iterate.m4 b/config/kernel-vfs-iterate.m4 new file mode 100644 index 0000000..c2c6562 --- /dev/null +++ b/config/kernel-vfs-iterate.m4 @@ -0,0 +1,43 @@ +dnl # +dnl # 3.11 API change +dnl # +AC_DEFUN([ZFS_AC_KERNEL_VFS_ITERATE], [ + AC_MSG_CHECKING([whether fops->iterate() is available]) + ZFS_LINUX_TRY_COMPILE([ + #include + int iterate(struct file *filp, struct dir_context * context) + { return 0; } + + static const struct file_operations fops + __attribute__ ((unused)) = { + .iterate = iterate, + }; + ],[ + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_VFS_ITERATE, 1, + [fops->iterate() is available]) + ],[ + AC_MSG_RESULT(no) + + AC_MSG_CHECKING([whether fops->readdir() is available]) + ZFS_LINUX_TRY_COMPILE([ + #include + int readdir(struct file *filp, void *entry, filldir_t func) + { return 0; } + + static const struct file_operations fops + __attribute__ ((unused)) = { + .readdir = readdir, + }; + ],[ + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_VFS_READDIR, 1, + [fops->readdir() is available]) + ],[ + AC_MSG_ERROR(no; file a bug report with ZFSOnLinux) + ]) + + ]) +])