[EMAIL PROTECTED] wrote on Thu, 15 Jun 2006 14:32 -0400: > The server returned -1073741828 "Input/output error", which is > what I'll go look at next, but the client should not crash when > it gets this error.
This badness comes from the server, src/io/trove/trove-dbpf/dbpf-dspace.c in dbpf_dspace_getattr_op_svc(): /* get an fd for the bstream so we can check size */ ret = dbpf_open_cache_get( op_p->coll_p->coll_id, op_p->handle, 0, &tmp_ref); if (ret < 0) { ** ret = -1073742082 "No such file or directory" but is ignored here. A comment would be nice: is this a FIXME or intended? log message resulting from the above call is: [D 14:53:36.991622] dbpf_open_cache_get: could not open (ret=-1073742082) } else { ret = DBPF_FSTAT(tmp_ref.fd, &b_stat); dbpf_open_cache_put(&tmp_ref); if (ret < 0) { ret = -TROVE_EBADF; goto return_error; } b_size = (TROVE_size)b_stat.st_size; } memset(&key, 0, sizeof(key)); key.data = &op_p->handle; key.size = sizeof(TROVE_handle); memset(&data, 0, sizeof(data)); memset(&s_attr, 0, sizeof(TROVE_ds_storedattr_s)); data.data = &s_attr; data.size = data.ulen = sizeof(TROVE_ds_storedattr_s); data.flags |= DB_DBT_USERMEM; ret = op_p->coll_p->ds_db->get(op_p->coll_p->ds_db, NULL, &key, &data, 0); if (ret != 0) { op_p->coll_p->ds_db->err(op_p->coll_p->ds_db, ret, "DB->get"); ret = -TROVE_EIO; ** this is the EIO, no clue why the get failed; nothing in the log. Why does ->err not print anything? goto return_error; } I have a nice full log (67 MB) if somebody wants to look at it. One issue to think about with dbench is that there are lots of concurrent client threads all doing "rm -rf" in their own subdirectories. Maybe it's a thread locking issue on the server? -- Pete _______________________________________________ Pvfs2-developers mailing list Pvfs2-developers@beowulf-underground.org http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers