aren't we supposed to be converting the BDB error codes to our own
somewhere?
Sam Lang wrote:
On Jun 15, 2006, at 4:06 PM, Pete Wyckoff wrote:
[EMAIL PROTECTED] wrote on Thu, 15 Jun 2006 14:59 -0400:
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;
}
More info: ret is always -30989 = 0xffff86f3. The ->err function
ends up writing on fd 2, which like 0 and 1 points to /dev/null
in pvfs2-server. Maybe want to wire this up to fd 3, the log file,
or better yet call into gossip_err like everything else. We must
be using the default db4 ->err method here.
30989 is berkeley db's NOTFOUND error IIRC. I agree that we should set
the db errfile to point to the server log's fd. Right now its set to
stderr in dbpf_db_open, which is fd 2 as you point out. What is fd 3?
I'm still puzzling over this error. I haven't changed any of this code
recently so its a bit confusing to me why it would start failing. Did
you do a migrate from an old storage format by chance? I'll keep looking.
Also, the dbpf_open_cache_get/put stuff at the top of getattr_op_svc can
be removed. We don't use the open cache in the dspace code anymore.
Not sure why the error block was empty though, it would be nice if -Wall
would warn about that.
-sam
-- Pete
_______________________________________________
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
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers