X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fautoconf%2Flustre-core.m4;h=f47bc5f7e63781b46d327d99f6ad3cbe192ed7ab;hp=27a62991a1375a0c0163d331c94771dce463b41b;hb=1e60ce443bdb4d1211758b0e53aea597bbdbc22d;hpb=96daa1b1ec0b4c9c61d30ff18a32f015a14fd528 diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 27a6299..f47bc5f 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -403,14 +403,26 @@ LB_LINUX_TRY_COMPILE([ #include #include ],[ - struct quotactl_ops qops = {}; - struct fs_disk_quota fdq; - qops.set_dqblk(NULL, 0, 0, &fdq); + ((struct quotactl_ops *)0)->set_dqblk(NULL, 0, 0, (struct fs_disk_quota*)0); ],[ AC_DEFINE(HAVE_DQUOT_FS_DISK_QUOTA, 1, [quotactl_ops.set_dqblk takes struct fs_disk_quota]) AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([no]) + AC_MSG_CHECKING([if quotactl_ops.set_dqblk takes struct kqid & fs_disk_quota]) + LB_LINUX_TRY_COMPILE([ + #include + #include + ],[ + ((struct quotactl_ops *)0)->set_dqblk((struct super_block*)0, *((struct kqid*)0), (struct fs_disk_quota*)0); + ],[ + AC_DEFINE(HAVE_DQUOT_FS_DISK_QUOTA, 1, [quotactl_ops.set_dqblk takes struct fs_disk_quota]) + AC_DEFINE(HAVE_DQUOT_KQID, 1, [quotactl_ops.set_dqblk takes struct kqid]) + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + AC_MSG_CHECKING([if quotactl_ops.set_dqblk takes struct kqid&fs_disk_quota]) + ]) ]) EXTRA_KCFLAGS="$tmp_flags" ]) @@ -654,6 +666,24 @@ AC_DEFINE(HAVE_SIMPLE_SETATTR, 1, ]) # +# truncate callback removed since 2.6.39 +# +AC_DEFUN([LC_IOP_TRUNCATE], +[AC_MSG_CHECKING([inode_operations has .truncate member function]) +LB_LINUX_TRY_COMPILE([ + #include +],[ + ((struct inode_operations *)0)->truncate(NULL); +],[ + AC_DEFINE(HAVE_INODEOPS_TRUNCATE, 1, + [inode_operations has .truncate member function]) + AC_MSG_RESULT([yes]) +],[ + AC_MSG_RESULT([no]) +]) +]) + +# # 2.6.39 remove unplug_fn from request_queue. # AC_DEFUN([LC_REQUEST_QUEUE_UNPLUG_FN], @@ -1228,13 +1258,12 @@ AC_DEFUN([LC_HAVE_ONLY_PROCFS_SEQ], LB_LINUX_TRY_COMPILE([ #include ],[ - struct inode *inode = NULL; - PDE_DATA(inode); + ((struct proc_dir_entry *)0)->write_proc(NULL, NULL, 0, NULL); +],[ + AC_MSG_RESULT([no]) ],[ AC_DEFINE(HAVE_ONLY_PROCFS_SEQ, 1, [only seq_files supported]) AC_MSG_RESULT([yes]) -],[ - AC_MSG_RESULT([no]) ]) ]) @@ -1258,6 +1287,25 @@ LB_LINUX_TRY_COMPILE([ ]) # +# 3.11 need to access d_count to get dentry reference count +# +AC_DEFUN([LC_HAVE_DCOUNT], +[AC_MSG_CHECKING([if d_count exist]) +LB_LINUX_TRY_COMPILE([ + #include +],[ + struct dentry de; + + d_count(&de); +],[ + AC_DEFINE(HAVE_D_COUNT, 1, [d_count exist]) + AC_MSG_RESULT([yes]) +],[ + AC_MSG_RESULT([no]) +]) +]) + +# # LC_PROG_LINUX # # Lustre linux kernel checks @@ -1305,6 +1353,7 @@ AC_DEFUN([LC_PROG_LINUX], # 2.6.39 LC_REQUEST_QUEUE_UNPLUG_FN LC_HAVE_FSTYPE_MOUNT + LC_IOP_TRUNCATE # 3.0 LC_DIRTY_INODE_WITH_FLAG @@ -1355,6 +1404,9 @@ AC_DEFUN([LC_PROG_LINUX], LC_HAVE_ONLY_PROCFS_SEQ LC_BLKDEV_RELEASE_RETURN_INT + # 3.11 + LC_HAVE_DCOUNT + # if test x$enable_server != xno ; then LC_FUNC_DEV_SET_RDONLY