[Pvfs2-cvs] commit by slang in pvfs2/src/client/sysint:
sys-rename.sm
CVS commit program
cvs at parl.clemson.edu
Wed Mar 21 09:32:05 EST 2007
Update of /projects/cvsroot/pvfs2/src/client/sysint
In directory parlweb1:/tmp/cvs-serv4004/src/client/sysint
Modified Files:
sys-rename.sm
Log Message:
[phil]: changes to prevent decoding response trailers on errors. See:
http://www.beowulf-underground.org/pipermail/pvfs2-developers/2007-March/003252.html
Thanks Phil!
Index: sys-rename.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-rename.sm,v
diff -p -u -r1.53 -r1.54
--- sys-rename.sm 17 Feb 2007 21:16:45 -0000 1.53
+++ sys-rename.sm 21 Mar 2007 14:32:05 -0000 1.54
@@ -402,19 +402,25 @@ static int rename_lookups_comp_fn(
gossip_debug(GOSSIP_CLIENT_DEBUG, "lookup[%d] got response %d\n",
index, resp_p->status);
- if (resp_p->status != 0)
+ /*
+ * if the index is 1, this failure just means that
+ * the target entry does not already exist, so it's
+ * expected and is not an error.
+ */
+ if(resp_p->status == -PVFS_ENOENT && index == 1)
{
- if (index == 1)
- {
- /*
- if the index is 1, this failure just means that
- the target entry does not already exist, so it's
- expected and is not an error.
- */
- resp_p->status = 0;
- }
- return resp_p->status;
+ /* note: don't change the actual resp structure, because the
+ * decoder counts on this to know how to release data structures
+ */
+ return 0;
}
+
+ if(resp_p->status != 0)
+ {
+ return resp_p->status;
+ }
+
+ /* SUCCESS! */
/*
stash the refns -- 'old' or 'new' based on index;
More information about the Pvfs2-cvs
mailing list