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