[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