Hi Wenbin,
Hello, I tried to install pvfs2, version 1.5.1 on a diskless cluster.
The head node is to be both the metadata server as well as the io
server. The clients are nfs mounted to the head node. The underlying
database is the Berkeley 4.5.20. The check of "pvfs2-ping -m
/mnt/pvfs2/" is allright. However, when I tried to do "pvfs2-cp" or
"pvfs2-ls", the commands hang. The /tmp/pvfs2-server.log shows
following, only 2 lines cut out of many:
[E 10/11 14:45] TROVE:DBPF:Berkeley DB: keyval_db->get:
DB_BUFFER_SMALL: User memory too small for return value
[E 10/11 14:45] TROVE:DBPF:Berkeley DB: keyval_db->get:
DB_BUFFER_SMALL: User memory too small for return value
....
The database is configured with:
../dist/configure --enable-pthread_api --disable-libtool-lock
--enable-debug
the pvfs2-1.5.1 is configured with:
./configure -with-db=/usr/local/BerkeleyDB.4.5
I dont know how/what is the right way to fix this problem.
Sam will probably find the right fixes for this. It does look like a bdb
4.5 specific issue.
Attached patch somehow fixes it for me although it seems (and probably
is) obviously incorrect. Also, it does look like the server goes off in
an infinite loop once it hits this error, but that is a separate issue I
think..
thanks,
Murali
Index: src/io/trove/trove-dbpf/dbpf-keyval.c
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/src/io/trove/trove-dbpf/dbpf-keyval.c,v
retrieving revision 1.78
diff -u -r1.78 dbpf-keyval.c
--- src/io/trove/trove-dbpf/dbpf-keyval.c 22 Sep 2006 19:27:31 -0000
1.78
+++ src/io/trove/trove-dbpf/dbpf-keyval.c 12 Oct 2006 06:19:56 -0000
@@ -1684,9 +1684,8 @@
key.data = &key_entry;
key.size = DBPF_KEYVAL_DB_ENTRY_TOTAL_SIZE(0);
key.flags = DB_DBT_USERMEM;
- data.data = op_p->u.k_get_handle_info.info;
data.ulen = sizeof(TROVE_keyval_handle_info);
- data.flags = DB_DBT_USERMEM;
+ data.flags = 0;
ret = op_p->coll_p->keyval_db->get(
op_p->coll_p->keyval_db, NULL, &key, &data, 0);
@@ -1699,6 +1698,9 @@
}
return -dbpf_db_error_to_trove_error(ret);
+ }
+ else {
+ memcpy(op_p->u.k_get_handle_info.info, data.data, data.size);
}
gossip_debug(GOSSIP_DBPF_KEYVAL_DEBUG,
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users