[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