/*
* Copyright (C) 2013, Trustees of Indiana University
*
- * Copyright (c) 2013, 2014, Intel Corporation.
+ * Copyright (c) 2013, 2017, Intel Corporation.
*
* Author: Joshua Walgenbach <jjw@iu.edu>
*/
#define _NODEMAP_INTERNAL_H
#include <lustre_nodemap.h>
-#include <interval_tree.h>
+#include <linux/rbtree.h>
#define DEFAULT_NODEMAP "default"
-/* Turn on proc debug interface to allow OSS and
- * MDS nodes to configure nodemap independently of
- * MGS (since the nodemap distribution is not written
- * yet */
-#define NODEMAP_PROC_DEBUG 1
-
-/* Default nobody uid and gid values */
-
+/* Default nobody uid, gid and projid values */
#define NODEMAP_NOBODY_UID 99
#define NODEMAP_NOBODY_GID 99
+#define NODEMAP_NOBODY_PROJID 99
struct lprocfs_static_vars;
/* list for nodemap */
struct list_head rn_list;
/* nid interval tree */
- struct interval_node rn_node;
+ lnet_nid_t rn_start,
+ rn_end,
+ rn_subtree_last;
+ struct rb_node rn_rb;
};
struct lu_idmap {
NODEMAP_RANGE_IDX = 2, /* nid range assigned to a nm cluster */
NODEMAP_UIDMAP_IDX = 3, /* uid map assigned to a nm cluster */
NODEMAP_GIDMAP_IDX = 4, /* gid map assigned to a nm cluster */
+ NODEMAP_PROJIDMAP_IDX = 5, /* projid map assigned to nm cluster */
NODEMAP_GLOBAL_IDX = 15, /* stores nodemap activation status */
};