On powerpc64, lustre/lustre_user.h cannot be used unless config.h from the lustre tree has been included.
# uname -r
# cat test.c
# gcc -Wall test.c -I$PWD/lustre/include -I$PWD/libcfs/include -c
In file included from /tmp/lustre-release/lustre/include/lustre/lustre_user.h:52,
/tmp/lustre-release/libcfs/include/libcfs/posix/posix-types.h:50: error: conflicting types for ‘umode_t’
/usr/include/asm/types.h:31: note: previous declaration of ‘umode_t’ was here
This is because on ppc64 umode_t is defined to be unsigned int in asm/types.h.
There is no longer any reason for posix-types.h to define umode_t so let's remove it.