From 6c3bc3009d42edce7e0e95bb06fb38e0af676601 Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Fri, 6 Jun 2008 16:58:09 +0300 Subject: [PATCH] Insert MPOOL_GET_{LEFT|RIGHT}_BUDDY() macros --- buddy/mpool.c | 4 ++-- buddy/mpool.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/buddy/mpool.c b/buddy/mpool.c index 97fe82b..1328cb7 100644 --- a/buddy/mpool.c +++ b/buddy/mpool.c @@ -258,7 +258,7 @@ void mpool_free(mpool_t *mpool, void *ptr) /* `pnode' is a right buddy, so `pbuddy' is a left buddy */ if (MPOOL_IS_RIGHT(pnode)) { - pbuddy = (blknode_t *)((char *)pnode - (1 << pnode->logsize)); + pbuddy = MPOOL_GET_LEFT_BUDDY(pnode); if ((void *)pbuddy < (void *)mpool->mem) { DPRINTF(("buddy out of pool\n")); return; @@ -266,7 +266,7 @@ void mpool_free(mpool_t *mpool, void *ptr) } /* `pnode' is a left buddy, so `pbuddy' is a right buddy */ else { - pbuddy = (blknode_t *)((char *)pnode + (1 << pnode->logsize)); + pbuddy = MPOOL_GET_RIGHT_BUDDY(pnode); if ((void *)pbuddy > (void *)((char *)mpool->mem + (1 << mpool->maxlogsize) - 1)) { DPRINTF(("buddy out of pool\n")); return; diff --git a/buddy/mpool.h b/buddy/mpool.h index 8969553..84d4966 100644 --- a/buddy/mpool.h +++ b/buddy/mpool.h @@ -39,6 +39,8 @@ #define MPOOL_IS_RIGHT(pnode) ((pnode->flags & MPOOL_NODE_LR) != 0) #define MPOOL_IS_PARENT(pnode) ((pnode->flags & MPOOL_NODE_PARENT) != 0) +#define MPOOL_GET_LEFT_BUDDY(pnode) ((blknode_t *)((char *)pnode - (1 << pnode->logsize))) +#define MPOOL_GET_RIGHT_BUDDY(pnode) ((blknode_t *)((char *)pnode + (1 << pnode->logsize))) /* This macro is provided for easy initialization of a blknode structure */ #define MPOOL_BLOCK_INIT(_node, _base, _ptr, _avail, _lr, _parent, _logsize) \ do { \ -- 2.11.4.GIT