mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 19:04:45 +03:00
Linux 2.6.35 compat, fops->fsync()
The fsync() callback in the file_operations structure used to take 3 arguments. The callback now only takes 2 arguments because the dentry argument was determined to be unused by all consumers. To handle this a compatibility prototype was added to ensure the right prototype is used. Our implementation never used the dentry argument either so it's just a matter of using the right prototype.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
dnl #
|
||||
dnl # 2.6.35 API change
|
||||
dnl # The dentry argument was deamed unused and dropped in 2.6.36.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_FSYNC_2ARGS], [
|
||||
AC_MSG_CHECKING([whether fops->fsync() wants 2 args])
|
||||
ZFS_LINUX_TRY_COMPILE([
|
||||
#include <linux/fs.h>
|
||||
],[
|
||||
int (*fsync) (struct file *, int datasync) = NULL;
|
||||
struct file_operations fops;
|
||||
|
||||
fops.fsync = fsync;
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_2ARGS_FSYNC, 1, [fops->fsync() want 2 args])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
@@ -29,6 +29,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
||||
ZFS_AC_KERNEL_RQ_IS_SYNC
|
||||
ZFS_AC_KERNEL_RQ_FOR_EACH_SEGMENT
|
||||
ZFS_AC_KERNEL_CONST_XATTR_HANDLER
|
||||
ZFS_AC_KERNEL_FSYNC_2ARGS
|
||||
|
||||
if test "$LINUX_OBJ" != "$LINUX"; then
|
||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||
|
||||
Reference in New Issue
Block a user