I checked pvfs 2.7.1pre out again from :pserver:[EMAIL PROTECTED]:/anoncvs
this morning and did a ./prepare, then a 'make kmod' which failed with:

CC [M]  /root/x/pvfs2/src/kernel/linux-2.6/dir.o
/root/x/pvfs2/src/kernel/linux-2.6/dir.c: In function `pvfs2_dir_llseek':
/root/x/pvfs2/src/kernel/linux-2.6/dir.c:890: error: `SEEK_SET' undeclared (first use in this function) /root/x/pvfs2/src/kernel/linux-2.6/dir.c:890: error: (Each undeclared identifier is reported only once /root/x/pvfs2/src/kernel/linux-2.6/dir.c:890: error: for each function it appears in.)
make[3]: *** [/root/x/pvfs2/src/kernel/linux-2.6/dir.o] Error 1
make[2]: *** [_module_/root/x/pvfs2/src/kernel/linux-2.6] Error 2
make[1]: *** [default] Error 2
make: *** [just_kmod] Error 2

after defining SEEK_SET 0 in dir.c, I get past that:

LD [M]  /root/x/pvfs2/src/kernel/linux-2.6/pvfs2.o
 Building modules, stage 2.
 MODPOST
*** Warning: "class_device_destroy" [/root/x/pvfs2/src/kernel/linux-2.6/pvfs2.ko] undefined!
 CC      /root/x/pvfs2/src/kernel/linux-2.6/pvfs2.mod.o
 LD [M]  /root/x/pvfs2/src/kernel/linux-2.6/pvfs2.ko
...

apart from that I don' t see any more warnings for 'make kmod'. 'make all' gives some more: src/io/trove/trove-dbpf/dbpf-dspace.c: In function `dbpf_dspace_iterate_handles_op_svc': src/io/trove/trove-dbpf/dbpf-dspace.c:533: warning: 'tmp_ptr' might be used uninitialized in this function
 CC            src/io/trove/trove-dbpf/dbpf-context-server.o
...
CC [M]  /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.o
/root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c: In function `pvfs2_dev_init': /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c:1039: warning: passing arg 2 of `class_device_create' makes integer from pointer without a cast /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c:1039: warning: passing arg 3 of `class_device_create' makes pointer from integer without a cast /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c:1039: warning: too many arguments for format /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c: In function `pvfs2_dev_cleanup': /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/devpvfs2-req.c:1052: warning: implicit declaration of function `class_device_destroy'
 CC [M]  /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/pvfs2-cache.o
 CC [M]  /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/dcache.o
 CC [M]  /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.o
/root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c: In function `check_mapping_tree': /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:802: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:822: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c: In function `locate_file_pages': /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:894: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:915: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:918: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:938: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c: In function `do_readv_writev': /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:1133: warning: 'total_actual_io' might be used uninitialized in this function

modprobe pvfs2 fails since class_device_destroy is not defined
FATAL: Error inserting pvfs2 (/lib/modules/2.6.9-55.ELsmp/kernel/fs/pvfs2/pvfs2.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Note that doing a ./configure --with-kernel=/usr/src/kernels/linux-2.6/ --disable-kernel-aio --disable-aio-threaded-callbacks does not change that, the issues is that pvfs2-config.h defines #define HAVE_KERNEL_DEVICE_CLASSES 1 but since redhats 2.6.9-55 kernel does not have that, I have to undefine
it. After recompiling without it, the only warnings I see seem to be:

rc/io/trove/trove-dbpf/dbpf-dspace.c:533: warning: 'tmp_ptr' might be used uninitialized in this function /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:802: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:822: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:894: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:915: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:918: warning: passing arg 1 of `_read_lock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:938: warning: passing arg 1 of `_read_unlock' from incompatible pointer type /root/cvs-pvfs/pvfs2/src/kernel/linux-2.6/file.c:1133: warning: 'total_actual_io' might be used uninitialized in this function

The module loads fine then as pvfs2 module version 2.7.1pre1-2008-01-29-171800.

So far so good...

Michael
Murali Vilayannur wrote:
Michael,
Pete and I checked in a bunch of fixes to get pvfs2 kmod to work
on recent kernels.. I am not sure if they were checked into pete's osd trunk
or to the main CVS head.. Pete?
If you are able to build pvfs2 kmod from HEAD without any compile time warnings
it should work just fine after loading..there have been a few dcache
related bugs that Phil and Sam have nailed down and hence it is
probably a good idea to try CVS head anyways.
thanks,
Murali

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
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to