From: Peng Tao Date: Tue, 18 Sep 2012 10:57:53 +0000 (+0800) Subject: LU-1337 llite: ll_inode_permission should check RCU walk X-Git-Tag: 2.3.54~1 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=9a920a5554bd06f52b13738774d4edf2185c50d9 LU-1337 llite: ll_inode_permission should check RCU walk For >3.1 kernels, RCU flag is folded into mask field. Signed-off-by: Peng Tao Change-Id: Icc6751493e7359646cb6bd84b3ac05de167e4d88 Reviewed-on: http://review.whamcloud.com/4039 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Fan Yong Reviewed-by: Liu Xuezhao Reviewed-by: Oleg Drokin --- diff --git a/lustre/llite/file.c b/lustre/llite/file.c index e988c81..e43dfb5 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -2597,7 +2597,10 @@ int ll_inode_permission(struct inode *inode, int mask, struct nameidata *nd) int rc = 0; ENTRY; -#ifdef HAVE_GENERIC_PERMISSION_4ARGS +#ifdef MAY_NOT_BLOCK + if (mask & MAY_NOT_BLOCK) + return -ECHILD; +#elif defined(HAVE_GENERIC_PERMISSION_4ARGS) if (flags & IPERM_FLAG_RCU) return -ECHILD; #endif