Whamcloud - gitweb
LU-4647 nodemap: add mapping functionality 99/9299/44
authorJoshua Walgenbach <jjw@iu.edu>
Mon, 3 Mar 2014 08:10:20 +0000 (09:10 +0100)
committerOleg Drokin <oleg.drokin@intel.com>
Sun, 2 Nov 2014 22:51:02 +0000 (22:51 +0000)
commit83f04354ff68a14d7492e35a9576c91492a1206c
tree0a439604602c54beb3e2b25dc73a49c6b6e173b0
parent29835ff68182237132cc55561b7484a5cc7ac6ed
LU-4647 nodemap: add mapping functionality

Add functions to allow the MDT to use the nodemap module
functions to map UIDs and GIDs. When a client connects to the MDT,
the NID of the client is classified by nodemap and a pointer
to the nodemap is added to the export structure.
In old_init_ucred and old_init_ucred_reint, the body ids and fs
ids are mapped according to the nodemap state (enabled, maps,
squashed ids, trust_client_ids and allow_root_access). ACLs are mapped
in mdt_getattr_internal. Squashed ACLs are discarded before the ACLs
are sent to clients. Trusted administrative nodes are allowed to
use setfacl on all users. Mapped nodes can only use setfacl for users
also mapped into the node.

Change-Id: I9648f6837f8bb4ff145c8a0d647fc934c08aaffe
Signed-off-by: Joshua Walgenbach <jjw@iu.edu>
Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Reviewed-on: http://review.whamcloud.com/9299
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
32 files changed:
lustre/Makefile.in
lustre/autoMakefile.am
lustre/autoconf/lustre-core.m4
lustre/include/lustre_export.h
lustre/include/lustre_nodemap.h
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_lib.c
lustre/mdt/mdt_xattr.c
lustre/mgs/mgs_internal.h
lustre/mgs/mgs_llog.c
lustre/nodemap/Makefile.in [deleted file]
lustre/nodemap/autoMakefile.am [deleted file]
lustre/nodemap/nodemap_lproc.c [deleted file]
lustre/obdclass/lprocfs_status_server.c
lustre/ofd/ofd_dev.c
lustre/ofd/ofd_obd.c
lustre/ptlrpc/Makefile.in
lustre/ptlrpc/autoMakefile.am
lustre/ptlrpc/nodemap_handler.c [moved from lustre/nodemap/nodemap_handler.c with 72% similarity]
lustre/ptlrpc/nodemap_idmap.c [moved from lustre/nodemap/nodemap_idmap.c with 96% similarity]
lustre/ptlrpc/nodemap_internal.h [moved from lustre/nodemap/nodemap_internal.h with 88% similarity]
lustre/ptlrpc/nodemap_lproc.c [new file with mode: 0644]
lustre/ptlrpc/nodemap_member.c [new file with mode: 0644]
lustre/ptlrpc/nodemap_range.c [moved from lustre/nodemap/nodemap_range.c with 97% similarity]
lustre/ptlrpc/nodemap_rbtree.c [moved from lustre/nodemap/nodemap_rbtree.c with 100% similarity]
lustre/ptlrpc/ptlrpc_internal.h
lustre/ptlrpc/ptlrpc_module.c
lustre/target/tgt_handler.c
lustre/tests/sanity-sec.sh
lustre/tests/test-framework.sh
lustre/utils/obd.c