mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 01:51:00 +03:00
596e65b4e8
We've dropped all the linux- prefixes on the file in favor of spl- which makes more sense. And we've cleaned up some of the includes so everybody should be including their own dependencies properly. All a module which wants to use the spl support needs to do in include spl.h and ensure it has access to Module.symvers. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@16 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
47 lines
968 B
C
47 lines
968 B
C
#ifndef _SOLARIS_CALLB_H
|
|
#define _SOLARIS_CALLB_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <linux/module.h>
|
|
#include "spl-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 /* _SOLARIS_CALLB_H */
|
|
|