[LU-5058] support for linux process namespace is broken Created: 13/May/14 Updated: 30/May/14 Resolved: 30/May/14 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.6.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Bob Glossman (Inactive) | Assignee: | Bob Glossman (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | patch | ||
| Issue Links: |
|
||||||||||||
| Severity: | 3 | ||||||||||||
| Rank (Obsolete): | 13971 | ||||||||||||
| Description |
|
Some recent landing in lustre master has broken the support for linux process namespace done in example errors: CC [M] /home/bogl/lustre-release/lustre/llite/file.o
In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from /usr/src/kernels/3.10.0-123.el7.x86_64/include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/linux/proc_fs.h:7,
from /home/bogl/lustre-release/lustre/include/linux/lustre_dlm.h:43,
from /home/bogl/lustre-release/lustre/include/lustre_dlm.h:52,
from /home/bogl/lustre-release/lustre/llite/file.c:44:
/home/bogl/lustre-release/lustre/llite/file.c: In function ‘ll_inode_permission’:
/home/bogl/lustre-release/lustre/llite/file.c:3545:24: error: invalid operands to binary == (have ‘kuid_t’ and ‘int’)
current_fsuid() == 0 &&
^
include/linux/compiler.h:153:42: note: in definition of macro ‘unlikely’
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from /home/bogl/lustre-release/libcfs/include/libcfs/libcfs.h:272:0,
from /home/bogl/lustre-release/lustre/include/lustre_lib.h:49,
from /home/bogl/lustre-release/lustre/include/lustre_dlm.h:61,
from /home/bogl/lustre-release/lustre/llite/file.c:44:
/home/bogl/lustre-release/libcfs/include/libcfs/libcfs_debug.h:225:23: error: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘kuid_t’ [-Werror=format=]
static struct libcfs_debug_msg_data msgdata; \
^
/home/bogl/lustre-release/libcfs/include/libcfs/libcfs_debug.h:235:35: note: in expansion of macro ‘__CDEBUG’
#define CDEBUG(mask, format, ...) __CDEBUG(NULL, mask, format, ## __VA_ARGS__)
^
/home/bogl/lustre-release/lustre/llite/file.c:3550:3: note: in expansion of macro ‘CDEBUG’
CDEBUG(D_OTHER, "squash creds (%d:%d)=>(%d:%d)\n",
^
/home/bogl/lustre-release/libcfs/include/libcfs/libcfs_debug.h:225:23: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘kgid_t’ [-Werror=format=]
static struct libcfs_debug_msg_data msgdata; \
^
/home/bogl/lustre-release/libcfs/include/libcfs/libcfs_debug.h:235:35: note: in expansion of macro ‘__CDEBUG’
#define CDEBUG(mask, format, ...) __CDEBUG(NULL, mask, format, ## __VA_ARGS__)
^
/home/bogl/lustre-release/lustre/llite/file.c:3550:3: note: in expansion of macro ‘CDEBUG’
CDEBUG(D_OTHER, "squash creds (%d:%d)=>(%d:%d)\n",
^
/home/bogl/lustre-release/lustre/llite/file.c:3560:15: error: incompatible types when assigning to type ‘kuid_t’ from type ‘uid_t’
cred->fsuid = squash->rsi_uid;
^
/home/bogl/lustre-release/lustre/llite/file.c:3561:15: error: incompatible types when assigning to type ‘kgid_t’ from type ‘gid_t’
cred->fsgid = squash->rsi_gid;
^
cc1: all warnings being treated as errors
make[6]: *** [/home/bogl/lustre-release/lustre/llite/file.o] Error 1
make[5]: *** [/home/bogl/lustre-release/lustre/llite] Error 2
make[4]: *** [/home/bogl/lustre-release/lustre] Error 2
make[3]: *** [_module_/home/bogl/lustre-release] Error 2
make[3]: Leaving directory `/usr/src/kernels/3.10.0-123.el7.x86_64'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/home/bogl/lustre-release'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bogl/lustre-release'
make: *** [all] Error 2
|
| Comments |
| Comment by James A Simmons [ 13/May/14 ] |
|
Oh I see the problem. |
| Comment by Bob Glossman (Inactive) [ 13/May/14 ] |
|
James, you are just too fast for me. see Description. problem is seen by a simple client build in the latest rhel7 rc image. ./configure --disable-server |
| Comment by James A Simmons [ 14/May/14 ] |
| Comment by Bob Glossman (Inactive) [ 14/May/14 ] |
|
In addition to passing the standard builds I've verified that http://review.whamcloud.com/#/c/10325 does repair the client build in rhel7 |
| Comment by Bob Glossman (Inactive) [ 14/May/14 ] |
|
Pretty sure this fix is needed for any kernel config'ed with CONFIG_UIDGID_STRICT_TYPE_CHECKS enabled. rhel7 is just the first one that has that turned on by default. |
| Comment by Peter Jones [ 30/May/14 ] |
|
Landed for 2.6 |