Hey Sam.  I checked some things in and was hoping to get you to look
at it.  Maybe you already looked at this mess.

There are two diffs, because I was confused about the need to
preallocate two of the arrays before the create call.  Saw that
num_data_files could change and made the wrong assumption.  So just
look at the diff from 107 to 109 below.

When you did the layout checkin, you moved the allocation of
msgarray down to after the map_servers() call, presumably because
that can modify num_data_files.  But you left in the first
allocation where it was originally, so I whacked that.

Let me know if I'm still misunderstanding something.

                -- Pete


Index: src/client/sysint/sys-create.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-create.sm,v
retrieving revision 1.107
retrieving revision 1.109
diff -u -p -r1.107 -r1.109
--- src/client/sysint/sys-create.sm     6 Jul 2007 05:23:20 -0000       1.107
+++ src/client/sysint/sys-create.sm     24 Jul 2007 17:41:04 -0000      1.109
@@ -625,24 +625,6 @@ static PINT_sm_action create_datafiles_s
 
     js_p->error_code = 0;
 
-    memset(&sm_p->msgpair, 0, sizeof(PINT_sm_msgpair_state));
-
-    /* allocate msgarray and set msgarray_count */
-    if (sm_p->msgarray && (sm_p->msgarray != &(sm_p->msgpair)))
-    {
-        free(sm_p->msgarray);
-    }
-    sm_p->msgarray = (PINT_sm_msgpair_state *)malloc(
-        (sm_p->u.create.num_data_files *
-         sizeof(PINT_sm_msgpair_state)));
-    if (sm_p->msgarray == NULL)
-    {
-        gossip_err("create: failed to allocate msgarray\n");
-        js_p->error_code = -PVFS_ENOMEM;
-        return SM_ACTION_COMPLETE;
-    }
-    sm_p->msgarray_count = sm_p->u.create.num_data_files;
-
     /* allocate handle extent array objects */
     if (sm_p->u.create.io_handle_extent_array == NULL)
     {
@@ -709,7 +691,7 @@ static PINT_sm_action create_datafiles_s
     {
         gossip_err("create: failed to allocate msgarray\n");
         js_p->error_code = -PVFS_ENOMEM;
-        return 1;
+        return SM_ACTION_COMPLETE;
     }
     sm_p->msgarray_count = sm_p->u.create.num_data_files;
 
_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to