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
--- pvfs-2.6.0/src/kernel/linux-2.6/file.c 2006-11-14 21:07:06.000000000 -0800
+++ /exit14/home/muraliv/pvfs-2.6.0/src/kernel/linux-2.6/file.c 2006-11-30 10:56:34.691258000 -0800
@@ -426,11 +428,11 @@
return 0;
}
-static long estimate_max_iovecs(const struct iovec *curr, unsigned long nr_segs, ssize_t *total_count)
+static long estimate_max_iovecs(const struct iovec *curr, unsigned long nr_segs, size_t *total_count)
{
unsigned long i;
long max_nr_iovecs;
- ssize_t total, count;
+ size_t total, count;
total = 0;
count = 0;
@@ -976,11 +980,11 @@
}
static long
-estimate_max_xtvecs(const struct xtvec *curr, unsigned long nr_segs, ssize_t *total_count)
+estimate_max_xtvecs(const struct xtvec *curr, unsigned long nr_segs, size_t *total_count)
{
unsigned long i;
long max_nr_xtvecs;
- ssize_t total, count;
+ size_t total, count;
total = 0;
count = 0;
@@ -1186,7 +1190,8 @@
static ssize_t do_direct_readx_writex(struct rw_options *rw)
{
- ssize_t ret, total_count, count_mem, count_stream;
+ ssize_t ret, total_count;
+ size_t count_mem, count_stream;
struct inode *inode = NULL;
pvfs2_inode_t *pvfs2_inode = NULL;
unsigned int to_free;
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers