Hi Murali,
I think you're on the right track, it looks like its a casting
problem from int to long, but the bug appears to be in the nr_segs
parameter passed to wait_for_io and then copy_iovec_from_user. The
attached patch fixes the error, as well as changes all the unsigned
long variable definitions for the segs of iovecs to unsigned int. It
seems safe to assume that we're never going to have more than 4
billion or so segments, but its not clear to me why some of them were
unsigned long and some were unsigned int. Can you have a look at the
patch and let me know what you think?
Thanks,
-sam
On Nov 30, 2006, at 1:04 PM, Murali Vilayannur wrote:
Hi guys,
drat..there have been so many bugs in the bufmap.c code lately.
This must be some data type overflow or something..
Can you try the attached patch and see if it helps..
As an aside,
how do we make gcc complain if types don't match perfectly?
I am surprised how a size_t* and a ssize_t * passes type checks even
with -Wall..
Kyle, if it does not work,
can you give me access to your machine? I can take a look at this
tonight.
If that is not possible, can you uncomment this line in the kernel
makefile
#EXTRA_CFLAGS += -DPVFS2_KERNEL_DEBUG
rebuild the module, rerun everything and send me the logs.
thanks,
Murali
On 11/30/06, Sam Lang <[EMAIL PROTECTED]> wrote:
Hi Kyle,
I don't have a fix for your problem yet, but I think the message
about "Please make sure that the pvfs2-client is running" is
erroneous. The real error is the pvfs_bufmap_copy_iovec_from_user
error.
Also, did you pull from CVS using the pvfs-2-6-0 release tag? If
not, the code in trunk (HEAD tag) may not be working for ppc64 at
this point.
-sam
On Nov 30, 2006, at 10:49 AM, Kyle Schochenmaier wrote:
> I was able to get the client finally built and mounted this morning
> for 2.6.0-cvs, and ran across this
> problem whenever trying to write/read through the vfs to the mount:
> *I'm running a biarch debian-ppc64 setup on the client, which has
> worked in the past on 2.5-cvs.
>
> pvfs2_bufmap_copy_iovec_from_user: computed total (0) is not equal
> to (2862872)
> /usr/src/pvfs-2.6.0-cvs/src/kernel/linux-2.6/file.c line 216:
> Failed to copy-in buffers. Please make sure that the pvfs2-client
> is running. -22
>
> The client doesnt crash, and is indeed still there, mounted, `ls`
> verifies the filesystem is still up?
>
> I'm able to do regular operations just fine directly to the
> filesystem via libpvfs2, however, nothing on the vfs mount. This
> error message isnt very helpful to me as the client is still
> running, what should I look for to debug this?
>
> +=Kyle
>
> --
> Kyle Schochenmaier
> [EMAIL PROTECTED]
> Research Assistant, Dr. Brett Bode
> AmesLab - US Dept.Energy
> Scalable Computing Laboratory
> _______________________________________________
> Pvfs2-developers mailing list
> [email protected]
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-
developers
>
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
<ppc64-types.patch>
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers