mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-13 11:40:25 +03:00
f1ca4da6f7
in an initial reasonable autoconf style build system. This does not yet build but the configure system does appear to work properly and integrate with the kernel. Hopefully the next commit gets us back to a buildable version we can run the test suite against. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@1 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
46 lines
954 B
C
46 lines
954 B
C
#ifndef _SYS_LINUX_CALLB_H
|
|
#define _SYS_LINUX_CALLB_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <sys/linux-mutex.h>
|
|
|
|
#define DEBUG_CALLB
|
|
|
|
#ifndef DEBUG_CALLB
|
|
#define CALLB_CPR_ASSERT(cp) BUG_ON(!(MUTEX_HELD((cp)->cc_lockp)));
|
|
#else
|
|
#define CALLB_CPR_ASSERT(cp)
|
|
#endif
|
|
|
|
|
|
typedef struct callb_cpr {
|
|
kmutex_t *cc_lockp;
|
|
} callb_cpr_t;
|
|
|
|
#define CALLB_CPR_INIT(cp, lockp, func, name) { \
|
|
(cp)->cc_lockp = lockp; \
|
|
}
|
|
|
|
#define CALLB_CPR_SAFE_BEGIN(cp) { \
|
|
CALLB_CPR_ASSERT(cp); \
|
|
}
|
|
|
|
#define CALLB_CPR_SAFE_END(cp, lockp) { \
|
|
CALLB_CPR_ASSERT(cp); \
|
|
}
|
|
|
|
#define CALLB_CPR_EXIT(cp) { \
|
|
ASSERT(MUTEX_HELD((cp)->cc_lockp)); \
|
|
mutex_exit((cp)->cc_lockp); \
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _SYS_LINUX_CALLB_H */
|
|
|