|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
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
 
 |   
 
 | 
    | 
  
  
    |   | 
    |