Hi Phil,

I think that's from the crdirent, which does a keyval_read to verify that the directory doesn't exist, and only creates it if ENOENT is returned. At the level of keyval_read_op_svc, its impossible to know that though. I guess I can just remove the error reporting call, although it would be nice to have it there for cases where we actually want to read an entry we expect to be there and print an error if we don't find one (corrupted db).


Actually I take that back. The only place in the keyval.c code we print an error is in read_list. So it probably isn't a problem there since read_list is only used by get_eattr. So the keyval_read_op_svc only prints a warning if DBPF_KEYVAL_DEBUG is enabled.

It looks like the error you're seeing might be in dspace_getattr, which gets called from lookup and prelude. If we do a lookup to verify that a file doesn't exist before creating it , I could imagine seeing that. In any case the problem is the same as before. I could print a warning if debugging is enabled.

Alternatively, I could create a trove flag (TROVE_NOENT_NON_FATAL) for those operations where we actually want to return ENOENT as a non- fatal response.

I'm not sure what the right answer is- it just caught me off guard to see those messages. Any idea why they only show up on stderr (meaning that the server has to be run with -d)? With that being the case it seems like the messages probably aren't very likely to be seen regardless.

-Phil
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to