From 06193244f968243c7938d4e8a3e7fae9d6f4265e Mon Sep 17 00:00:00 2001 From: yangsheng Date: Fri, 25 Sep 2009 03:55:54 +0000 Subject: [PATCH] Branch b1_8 b=18668 i=johann, panda Config check for cred.h to avoid current_* redefined. --- lnet/autoconf/lustre-lnet.m4 | 11 +++++++++++ lnet/include/libcfs/linux/libcfs.h | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index fd624a8..3459a22 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -1440,6 +1440,16 @@ LB_LINUX_TRY_COMPILE([ ]) ]) +# since 2.6.27 have linux/cred.h defined current_* macro +AC_DEFUN([LN_HAVE_LINUX_CRED_H], +[LB_CHECK_FILE([$LINUX/include/linux/cred.h],[ + AC_DEFINE(HAVE_LINUX_CRED_H, 1, + [kernel has include/linux/cred.h]) +],[ + AC_MSG_RESULT([no]) +]) +]) + # # # LN_CONFIG_USERSPACE @@ -1546,6 +1556,7 @@ LN_SEM_COUNT # 2.6.27 LN_SOCK_MAP_FD_2ARG LN_FUNC_DUMP_TRACE +LN_HAVE_LINUX_CRED_H #2.6.29 LN_STRUCT_CRED_IN_TASK # 2.6.30 diff --git a/lnet/include/libcfs/linux/libcfs.h b/lnet/include/libcfs/linux/libcfs.h index ea4b79c..a5f0191 100644 --- a/lnet/include/libcfs/linux/libcfs.h +++ b/lnet/include/libcfs/linux/libcfs.h @@ -211,6 +211,8 @@ struct cfs_stack_trace { current->xxx; \ }) +#ifndef HAVE_LINUX_CRED_H + #define current_uid() (current_cred_xxx(uid)) #define current_gid() (current_cred_xxx(gid)) #define current_euid() (current_cred_xxx(euid)) @@ -220,6 +222,9 @@ struct cfs_stack_trace { #define current_fsuid() (current_cred_xxx(fsuid)) #define current_fsgid() (current_cred_xxx(fsgid)) #define current_cap() (current_cred_xxx(cap_effective)) + +#endif /* HAVE_LINUX_CRED_H */ + #define current_user() (current_cred_xxx(user)) #define current_user_ns() (current_cred_xxx(user)->user_ns) #define current_security() (current_cred_xxx(security)) @@ -228,7 +233,8 @@ struct cfs_stack_trace { #define prepare_creds() (current) #define commit_creds(a) -#endif + +#endif /* HAVE_STRUCT_CRED */ #endif -- 1.8.3.1