| C H A P T E R 29 |
|
Lustre Programming Interfaces (man2) |
This chapter describes public programming interfaces to control various aspects of Lustre from userspace. These interfaces are generally not guaranteed to remain unchanged over time, although we will make an effort to notify the user community well in advance of major changes. This chapter includes the following section:
This section describes user and group upcall.
| Note - For information on a universal UID/GID, see Environmental Requirements. |
Use /proc/fs/lustre/mds/mds-service/group_upcall to look up a given user’s group membership.
The group upcall file contains the path to an executable that, when properly installed, is invoked to resolve a numeric UID to a group membership list. This utility should complete the mds_grp_downcall_data data structure (see Data structures) and write it to the /proc/fs/lustre/mds/mds-service/group_info pseudo-file.
For a sample upcall program, see lustre/utils/l_getgroups.c in the Lustre source distribution.
The mechanism for the primary/secondary group is as follows:
#include <lustre/lustre_user.h>
#define MDS_GRP_DOWNCALL_MAGIC 0x6d6dd620
struct mds_grp_downcall_data {
__u32 mgd_magic;
__u32 mgd_err;
__u32 mgd_uid;
__u32 mgd_gid;
__u32 mgd_ngroups;
__u32 mgd_groups[0];
};
Copyright © 2010, Oracle and/or its affiliates. All rights reserved.