From e7036c805551b7952d74cac69716f835940e28f4 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Mon, 18 May 2009 11:03:10 -0700 Subject: [PATCH] kclient: disable bookkeeper when including some kernel headers --- src/kernel/bookkeeper.c | 2 +- src/kernel/bookkeeper.h | 15 +++++++++++++-- src/kernel/super.h | 7 +++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/kernel/bookkeeper.c b/src/kernel/bookkeeper.c index 41b2895ebadec..388260dffd329 100644 --- a/src/kernel/bookkeeper.c +++ b/src/kernel/bookkeeper.c @@ -51,7 +51,7 @@ void *ceph_kmalloc(char *fname, int line, size_t size, gfp_t flags) return ((void *)p)+sizeof(struct alloc_data); } -void ceph_kfree(void *ptr) +void ceph_kfree(const void *ptr) { struct alloc_data *p = (struct alloc_data *)(ptr - sizeof(struct alloc_data)); diff --git a/src/kernel/bookkeeper.h b/src/kernel/bookkeeper.h index 85417706fce2f..1fb79da7485a1 100644 --- a/src/kernel/bookkeeper.h +++ b/src/kernel/bookkeeper.h @@ -6,15 +6,26 @@ extern void ceph_bookkeeper_dump(void); extern void ceph_bookkeeper_init(void); extern void ceph_bookkeeper_finalize(void); extern void *ceph_kmalloc(char *fname, int line, size_t size, gfp_t flags); -extern void ceph_kfree(void *ptr); +extern void ceph_kfree(const void *ptr); + + +#endif + +#endif #ifndef CEPH_OVERRIDE_BOOKKEEPER +#define CEPH_BOOKKEEPER_DEFINED #define kmalloc(size, flags) ceph_kmalloc(__FILE__, __LINE__, size, flags) #define kzalloc(size, flags) ceph_kmalloc(__FILE__, __LINE__, size, \ flags | __GFP_ZERO) #define kfree ceph_kfree #endif +#ifdef CEPH_DISABLE_BOOKKEEPER +#ifdef CEPH_BOOKKEEPER_DEFINED +#undef kmalloc +#undef kzalloc +#undef kfree #endif - #endif + diff --git a/src/kernel/super.h b/src/kernel/super.h index 9a20f6ee72da9..ec16b138168f8 100644 --- a/src/kernel/super.h +++ b/src/kernel/super.h @@ -1,6 +1,9 @@ #ifndef _FS_CEPH_SUPER_H #define _FS_CEPH_SUPER_H +#define CEPH_DISABLE_BOOKKEEPER +#include "bookkeeper.h" + #include #include #include @@ -8,6 +11,9 @@ #include #include +#undef CEPH_DISABLE_BOOKKEEPER +#include "bookkeeper.h" + #include "types.h" #include "ceph_debug.h" #include "messenger.h" @@ -15,6 +21,7 @@ #include "mds_client.h" #include "osd_client.h" #include "ceph_fs.h" +#include "bookkeeper.h" /* f_type in struct statfs */ #define CEPH_SUPER_MAGIC 0x00c36400 -- 2.39.5