From: Simon Wilkinson Date: Sun, 21 Oct 2012 20:19:40 +0000 (+0100) Subject: rx: Move kernel assertion macros X-Git-Tag: upstream/1.8.0_pre1^2~1854 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=d287e816988a98654ba6e0fd3aa053b20fd14663;p=packages%2Fo%2Fopenafs.git rx: Move kernel assertion macros Move the kernel assertion macros out of rx_prototypes.h and into rx_kernel.h. This solves an ordering problem if these macros are to be used from src/rx//*.h Change-Id: I5f11e0802b3d25c1c32a2c646a35c0b59422ab3d Reviewed-on: http://gerrit.openafs.org/8283 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- diff --git a/src/rx/rx_kernel.h b/src/rx/rx_kernel.h index 63f09304c..48865361b 100644 --- a/src/rx/rx_kernel.h +++ b/src/rx/rx_kernel.h @@ -36,7 +36,27 @@ typedef struct socket *osi_socket; CM_TRACE_RXWAKE, ICL_TYPE_STRING, __FILE__, ICL_TYPE_INT32, __LINE__) extern int osi_utoa(char *buf, size_t len, unsigned long val); -#define osi_Assert(exp) (void)((exp) || (osi_AssertFailK( #exp , __FILE__, __LINE__), 0)) + +# if defined(AFS_LINUX26_ENV) +# define osi_Panic(msg...) \ + do { printk(KERN_CRIT "openafs: " msg); BUG(); } while (0) +# define osi_Assert(expr) \ + do { \ + if (!(expr)) \ + osi_Panic("assertion failed: %s, file: %s, line: %d\n", \ + #expr, __FILE__, __LINE__); \ + } while (0) +# elif defined(AFS_AIX_ENV) +extern void osi_Panic(char *fmt, void *a1, void *a2, void *a3); +# define osi_Assert(exp) \ + (void)((exp) || (osi_AssertFailK( #exp , __FILE__, __LINE__), 0)) +# else +extern void osi_Panic(char *fmt, ...) + AFS_ATTRIBUTE_FORMAT(__printf__, 1, 2) + AFS_NORETURN; +# define osi_Assert(exp) \ + (void)((exp) || (osi_AssertFailK( #exp , __FILE__, __LINE__), 0)) +# endif #ifdef AFS_LINUX20_ENV # define osi_Msg printk)( diff --git a/src/rx/rx_prototypes.h b/src/rx/rx_prototypes.h index 27692e7fe..eebee69ab 100644 --- a/src/rx/rx_prototypes.h +++ b/src/rx/rx_prototypes.h @@ -262,18 +262,6 @@ extern int rxk_DelPort(u_short aport); extern void rxk_shutdownPorts(void); extern osi_socket rxi_GetUDPSocket(u_short port); extern osi_socket rxi_GetHostUDPSocket(u_int host, u_short port); -# if defined(AFS_LINUX26_ENV) -# define osi_Panic(msg...) do { printk(KERN_CRIT "openafs: " msg); BUG(); } while (0) -# undef osi_Assert -# define osi_Assert(expr) \ - do { if (!(expr)) osi_Panic("assertion failed: %s, file: %s, line: %d\n", #expr, __FILE__, __LINE__); } while (0) -# elif defined(AFS_AIX_ENV) -extern void osi_Panic(char *fmt, void *a1, void *a2, void *a3); -# else -extern void osi_Panic(char *fmt, ...) - AFS_ATTRIBUTE_FORMAT(__printf__, 1, 2) - AFS_NORETURN; -#endif extern int osi_utoa(char *buf, size_t len, unsigned long val); extern void rxi_InitPeerParams(struct rx_peer *pp); extern void shutdown_rxkernel(void);