From a9682775fcb047e4bcd3994d582ada430d28e264 Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Fri, 11 Nov 2011 09:33:31 +0000 Subject: [PATCH] Unix CM: Build rbtrees in kernel Build the new opr rbtree code in the Unix kernel module Change-Id: I8271b209c8c17c4c651f2499cd8f60e44818a828 Reviewed-on: http://gerrit.openafs.org/5842 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/libafs/Makefile.common.in | 6 ++++++ src/libafs/MakefileProto.LINUX.in | 1 + src/opr/rbtree.c | 10 +++++----- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/libafs/Makefile.common.in b/src/libafs/Makefile.common.in index d5a12314e..3b8fcbea0 100644 --- a/src/libafs/Makefile.common.in +++ b/src/libafs/Makefile.common.in @@ -19,6 +19,7 @@ TOP_SRC_AFS = ${TOP_SRCDIR}/afs TOP_SRC_RXSTAT = ${TOP_SRCDIR}/rxstat TOP_SRC_FSINT = ${TOP_SRCDIR}/fsint TOP_SRC_RX = ${TOP_SRCDIR}/rx +TOP_SRC_OPR = $(TOP_SRCDIR)/opr TOP_SRC_VNOPS = ${TOP_SRCDIR}/afs/VNOPS TOP_SRC_RXKAD = ${TOP_SRCDIR}/rxkad @@ -150,6 +151,7 @@ AFSAOBJS = \ rx_packet.o \ rx_multi.o \ rx_stats.o \ + opr_rbtree.o \ xdr_rx.o \ xdr_mem.o \ xdr_len.o \ @@ -242,6 +244,7 @@ AFSPAGOBJS = \ rx_packet.o \ rx_multi.o \ rx_stats.o \ + opr_rbtree.o \ xdr_rx.o \ xdr_mem.o \ xdr_len.o \ @@ -439,6 +442,9 @@ rx_packet.o: $(TOP_SRC_RX)/rx_packet.c $(CRULE_NOOPT) $(TOP_SRC_RX)/rx_packet.c rx_stats.o: $(TOP_SRC_RX)/rx_stats.c $(CRULE_NOOPT) $(TOP_SRC_RX)/rx_stats.c +opr_rbtree.o: $(TOP_SRC_OPR)/rbtree.c + $(CRULE_OPT) $(TOP_SRC_OPR)/rbtree.c +CFLAGS-opr-rbtree.o = -I$(TOP_INCDIR)/opr xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c $(CRULE_NOOPT) $(TOP_SRC_RX)/xdr_rx.c Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in index 6f34d09a5..ff56e5d41 100644 --- a/src/libafs/MakefileProto.LINUX.in +++ b/src/libafs/MakefileProto.LINUX.in @@ -84,6 +84,7 @@ CFLAGS_fcrypt.o = -I${TOP_SRCDIR}/rxkad -I$(TOP_OBJDIR)/src/rxkad CFLAGS_crypt_conn.o = -I${TOP_SRCDIR}/rxkad -I$(TOP_OBJDIR)/src/rxkad CFLAGS_rxkad_client.o = -I${TOP_SRCDIR}/rxkad -I$(TOP_OBJDIR)/src/rxkad CFLAGS_rxkad_common.o = -I${TOP_SRCDIR}/rxkad -I$(TOP_OBJDIR)/src/rxkad +CFLAGS_opr_rbtree.o = -I${TOP_SRCDIR}/opr CFLAGS_evp.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto \ -DHAVE_CONFIG_H diff --git a/src/opr/rbtree.c b/src/opr/rbtree.c index f4dbe18eb..8143e2d55 100644 --- a/src/opr/rbtree.c +++ b/src/opr/rbtree.c @@ -63,7 +63,7 @@ struct { * to the replacement as appropriate. */ -static inline void +static_inline void update_parent_ptr(struct opr_rbtree *head, struct opr_rbtree_node *old, struct opr_rbtree_node *replacement) { @@ -159,14 +159,14 @@ opr_rbtree_prev(struct opr_rbtree_node *node) return parent; } -static inline void +static_inline void initnode(struct opr_rbtree_node *node) { node->left = node->right = node->parent = NULL; node->red = 1; } -static inline void +static_inline void rotateright(struct opr_rbtree *head, struct opr_rbtree_node *node) { struct opr_rbtree_node *left = node->left; @@ -183,7 +183,7 @@ rotateright(struct opr_rbtree *head, struct opr_rbtree_node *node) node->parent = left; } -static inline void +static_inline void rotateleft(struct opr_rbtree *head, struct opr_rbtree_node *node) { struct opr_rbtree_node *right = node->right; @@ -200,7 +200,7 @@ rotateleft(struct opr_rbtree *head, struct opr_rbtree_node *node) node->parent = right; } -static inline void +static_inline void swapnode(struct opr_rbtree_node **a, struct opr_rbtree_node **b) { struct opr_rbtree_node *tmp; -- 2.39.5