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