X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fautoconf%2Flustre-core.m4;h=97f1a2d473a12c4567152cbf2986a5b28d7e55c5;hp=6c18234bb89f432bb8dcb300cfb53b6ae5d2895a;hb=ab8b977f77e44c3f4d57be2244e9df898fd15316;hpb=b567f5066b7ca2d15d4f492ec205651c9a63ef98 diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 6c18234..97f1a2d 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -1890,6 +1890,28 @@ new_cancel_dirty_page, [ ]) # LC_NEW_CANCEL_DIRTY_PAGE # +# LC_SYMLINK_OPS_USE_NAMEIDATA +# +# For the 4.2+ kernels the file system internal symlink api no +# longer uses struct nameidata as a argument +# +AC_DEFUN([LC_SYMLINK_OPS_USE_NAMEIDATA], [ +LB_CHECK_COMPILE([if symlink inode operations have struct nameidata argument], +symlink_use_nameidata, [ + #include + #include +],[ + struct nameidata *nd = NULL; + + ((struct inode_operations *)0)->follow_link(NULL, nd); + ((struct inode_operations *)0)->put_link(NULL, nd, NULL); +],[ + AC_DEFINE(HAVE_SYMLINK_OPS_USE_NAMEIDATA, 1, + [symlink inode operations need struct nameidata argument]) +]) +]) # LC_SYMLINK_OPS_USE_NAMEIDATA + +# # LC_PROG_LINUX # # Lustre linux kernel checks @@ -2046,6 +2068,7 @@ AC_DEFUN([LC_PROG_LINUX], [ # 4.2 LC_NEW_CANCEL_DIRTY_PAGE + LC_SYMLINK_OPS_USE_NAMEIDATA # AS_IF([test "x$enable_server" != xno], [