[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.