|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH 1/3] Do not use DEFINE_RWLOCK Macro
Revised patch attached.
Note that I did run into a problem with a buggy kernel in RHEL4-U3.
It seems that in this macro, rw_lock_t was used instead of rwlock_t. I
added a line to platform-compat.h to account for this.
Ben
Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Ian Campbell wrote:
On Wed, 2007-08-29 at 14:20 -0400, Ben Guthro wrote:
Do not use the DEFINE_RWLOCK macro, as it is not available when compiled
against older kernels, such as SLES9's 2.6.5
Things like this should generally be done by adding a suitably guarded
definition of DEFINE_RWLOCK to the platform-compat.h header in
unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h.
Ian.
diff -r a381118a247a
unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
--- a/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Wed Aug
29 15:30:40 2007 -0400
+++ b/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Wed Aug
29 16:26:33 2007 -0400
@@ -116,4 +116,13 @@ extern char *kasprintf(gfp_t gfp, const
#define DEFINE_SEQLOCK(x) seqlock_t x = SEQLOCK_UNLOCKED
#endif
+#if defined(__LINUX_SPINLOCK_H) && !defined(DEFINE_RWLOCK)
+#define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED
#endif
+
+/* Bug in RHEL4-U3 rw_lock_t is mistakenly defined in this macro */
+#if defined(__LINUX_SPINLOCK_H) && defined(DEFINE_RWLOCK)
+#define rw_lock_t rwlock_t
+#endif
+
+#endif
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|