[PVFS2-CVS] commit by neill in pvfs2/src/kernel/linux-2.6: pvfs2-kernel.h

CVS commit program cvs at parl.clemson.edu
Fri Nov 5 14:37:27 EST 2004


Update of /projects/cvsroot/pvfs2/src/kernel/linux-2.6
In directory parlweb:/tmp/cvs-serv25199/src/kernel/linux-2.6

Modified Files:
	pvfs2-kernel.h 
Log Message:
- added a configure test looking specifically for a redhat 9 release,
  as many things have to be changed on that platform:
  - use some 2.6.x kernel code on redhat 9 2.4.x kernels, if detected
  (this means we no longer have to use the externally referenced
  redhat patch)
  - do not mark pages as reserved on redhat 9 2.4.x kernels, as the
  kernel will oops eventually due to the different virtual memory
  manager
  - since redhat 9 has an incompatible NPTL implementation (and the
  server mysteriously crashes on it), install a wrapper script in
  place of the pvfs2-server that exports the LD_ASSUME_KERNEL
  environment variable before running the server
  - addition of above mentioned src/server/pvfs2-server-stub
  - in redhat 9 only cases, install pvfs2-server-stub as pvfs2-server
  and install pvfs2-server as pvfs2-server.bin
  - make sure that make kmod{24}_install works properly even if there
  are multiple UTS_RELEASE definitions in the version.h file (as there
  are in redhat 9).  fallback to using uname -r for kernel
  installation path in /lib/modules if that's the case

NOTE: at this time, we should be able to work properly on redhat 9
installations "out of the box".  in my testing, this is the case.
VS: ----------------------------------------------------------------------


Index: pvfs2-kernel.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/kernel/linux-2.6/pvfs2-kernel.h,v
diff -p -u -r1.80 -r1.81
--- pvfs2-kernel.h	28 Oct 2004 21:04:29 -0000	1.80
+++ pvfs2-kernel.h	5 Nov 2004 19:37:27 -0000	1.81
@@ -706,14 +706,27 @@ do { inode->i_mtime = inode->i_ctime = C
 #define get_block_block_type long
 #define pvfs2_lock_inode(inode) do {} while(0)
 #define pvfs2_unlock_inode(inode) do {} while(0)
+#define pvfs2_d_splice_alias(dentry, inode) d_add(dentry, inode)
+#define pvfs2_kernel_readpage block_read_full_page
+
+/*
+  redhat 9 2.4.x kernels have to be treated almost like 2.6.x kernels
+  so we special case them here
+*/
+#ifdef REDHAT_RELEASE_9
+#define pvfs2_current_signal_lock current->sighand->siglock
+#define pvfs2_current_sigaction current->sighand->action
+#define pvfs2_recalc_sigpending recalc_sigpending
+#define pvfs2_set_page_reserved(page) do {} while(0)
+#define pvfs2_clear_page_reserved(page) do {} while(0)
+#else
 #define pvfs2_current_signal_lock current->sigmask_lock
 #define pvfs2_current_sigaction current->sig->action
 #define pvfs2_recalc_sigpending() recalc_sigpending(current)
-#define pvfs2_d_splice_alias(dentry, inode) d_add(dentry, inode)
-#define pvfs2_kernel_readpage block_read_full_page
 #define pvfs2_set_page_reserved(page) SetPageReserved(page)
 #define pvfs2_clear_page_reserved(page) \
 do { ClearPageReserved(page); put_page(page); } while(0)
+#endif /* REDHAT_RELEASE_9 */
 
 #define fill_default_sys_attrs(sys_attr,type,mode)\
 do                                                \



More information about the PVFS2-CVS mailing list