[Pvfs2-users] compiling kernel module of pvfs2.7.1pre and RHEL4 kernel 2.6.9-55 - red hat

Michael Will mwill at penguincomputing.com
Mon Jan 28 16:01:33 EST 2008


Since pvfs2.7.0.tar.gz as downloadable from 
ftp://ftp.parl.clemson.edu/pub/pvfs2/pvfs-2.7.0.tar.gz does not compile 
on redhat enterprise 4
systems, make: *** No rule to make target 
`/usr/include/bits/syslog-path.h', needed by `src/server/unexpected.d'.  
Stop.
I checked out the more recent 2.7.1pre sourcetree from CVS.

It does seem to compile just fine, however when I attempt to compile the 
kernel-module, it complains because of the missing
function src/kernel/linux-2.6/devpvfs2-req.c:    
class_device_destroy(pvfs2_dev_class, MKDEV(pvfs2_dev_major, 0)) and
in consequence the module created does not load.

My workaround is to edit pvfs2-config.h and take out the following 
definition:

/* Define if kernel lacks device classes */
#define HAVE_KERNEL_DEVICE_CLASSES 1

After this and recompiling, the module works.

Note the following warnings:
  CC [M]  /root/pvfs2/src/kernel/linux-2.6/file.o
/root/pvfs2/src/kernel/linux-2.6/file.c: In function `check_mapping_tree':
/root/pvfs2/src/kernel/linux-2.6/file.c:802: warning: passing arg 1 of 
`_read_lock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c:822: warning: passing arg 1 of 
`_read_unlock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c: In function `locate_file_pages':
/root/pvfs2/src/kernel/linux-2.6/file.c:894: warning: passing arg 1 of 
`_read_lock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c:915: warning: passing arg 1 of 
`_read_unlock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c:918: warning: passing arg 1 of 
`_read_lock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c:938: warning: passing arg 1 of 
`_read_unlock' from incompatible pointer type
/root/pvfs2/src/kernel/linux-2.6/file.c: In function `do_readv_writev':
/root/pvfs2/src/kernel/linux-2.6/file.c:1133: warning: 'total_actual_io' 
might be used uninitialized in this function
  CC [M]  /root/pvfs2/src/kernel/linux-2.6/inode.o

On a machine with the stock 2.6.9-55smp kernel, it seems to function in 
spite of the compile time warnings,
however another more patched kernel crashes (still need to connect 
serial console to it to capture the detail on that one)

Is this a known issue?

Which version of PVFS is best suited for running on RHEL4 - and what 
level of confidence do the developers have with the outcome?

Michael


More information about the Pvfs2-users mailing list