diff --git a/config.save b/config.save index 53bd387..339eee7 100755 --- a/config.save +++ b/config.save @@ -525,7 +525,7 @@ s,@ECHO_C@,,;t t s,@ECHO_N@,-n,;t t s,@ECHO_T@,,;t t s,@LIBS@, -lcrypto -lssl -ldl,;t t -s,@PVFS2_VERSION@,2.8.6-orangefs-2012-09-15-003549,;t t +s,@PVFS2_VERSION@,2.8.6-orangefs-2012-09-17-172331,;t t s,@PVFS2_VERSION_MAJOR@,2,;t t s,@PVFS2_VERSION_MINOR@,8,;t t s,@PVFS2_VERSION_SUB@,6,;t t diff --git a/src/client/sysint/remove.sm b/src/client/sysint/remove.sm index f7dfe78..f07a775 100644 --- a/src/client/sysint/remove.sm +++ b/src/client/sysint/remove.sm @@ -178,8 +178,8 @@ static PINT_sm_action remove_getattr_analyze_results( switch(attr->objtype) { case PVFS_TYPE_METAFILE: - assert(attr->mask & PVFS_ATTR_META_DFILES); - assert(attr->u.meta.dfile_count > 0); + //assert(attr->mask & PVFS_ATTR_META_DFILES); + //assert(attr->u.meta.dfile_count > 0); gossip_debug(GOSSIP_CLIENT_DEBUG, "%s: must remove %d datafiles\n", __func__, attr->u.meta.dfile_count); @@ -238,8 +238,13 @@ static PINT_sm_action remove_datafile_remove_setup_msgpair( if (is_osd) { struct osd_command *command = &msg_p->osd_command; - ret = osd_command_set_remove(command, PVFS_OSD_DATA_PID, - attr->u.meta.dfile_array[0]); + if (attr->u.meta.dfile_array) + ret = osd_command_set_remove(command, PVFS_OSD_DATA_PID, + attr->u.meta.dfile_array[0]); + else + ret = osd_command_set_remove(command, PVFS_OSD_DATA_PID, + sm_p->object_ref.handle); + if (ret) { osd_error_xerrno(ret, "%s: osd_command_set_remove failed", __func__); @@ -260,7 +265,7 @@ static PINT_sm_action remove_datafile_remove_setup_msgpair( } msg_p->fs_id = sm_p->object_ref.fs_id; - msg_p->handle = attr->u.meta.dfile_array[0]; + msg_p->handle = (attr->u.meta.dfile_array ? attr->u.meta.dfile_array[0] : sm_p->object_ref.handle); msg_p->retry_flag = PVFS_MSGPAIR_RETRY; /* TODO: Do we want retry? */ msg_p->comp_fn = NULL; diff --git a/src/client/sysint/sys-create.sm b/src/client/sysint/sys-create.sm index 3de80e2..6b388b4 100644 --- a/src/client/sysint/sys-create.sm +++ b/src/client/sysint/sys-create.sm @@ -45,8 +45,6 @@ static int create_crdirent_comp_fn( void *v_p, struct PVFS_server_resp *resp_p, int index); static int create_delete_handles_comp_fn( void *v_p, struct PVFS_server_resp *resp_p, int index); -static int create_set_oid_comp_fn( - void *v_p, struct PVFS_server_resp *resp_p, int index); /* misc helper functions */ static PINT_dist* get_default_distribution(PVFS_fs_id fs_id); @@ -55,8 +53,7 @@ enum { OSD_MSGPAIR = 2001, OSD_CREATE_MSGPAIR = 2002, OSD_MDFILE_MSGPAIR = 2003, - OSD_POST_CREATE = 2004, - OSD_OID_SET_MSGPAIR = 2005 + OSD_POST_CREATE = 2004 }; %% @@ -137,21 +134,6 @@ machine pvfs2_client_create_sm } state datafiles_xfer_osd_msgpair_array - { - jump pvfs2_osd_msgpairarray_sm; - OSD_OID_SET_MSGPAIR => create_set_oid_msgpair; - success => crdirent_setup_msgpair; - default => crdirent_failure; - } - - state create_set_oid_msgpair - { - run create_set_oid_msgpair; - success => create_set_oid_xfer_msgpair; - default => cleanup; - } - - state create_set_oid_xfer_msgpair { jump pvfs2_osd_msgpairarray_sm; success => crdirent_setup_msgpair; @@ -589,7 +571,6 @@ static int create_datafiles_comp_fn(void *v_p, if (sm_p->u.create.datafile_handles[index]) oid = sm_p->u.create.datafile_handles[index]; else { - ret = OSD_OID_SET_MSGPAIR; oid = get_ntohll(sm_p->msgarray_op.msgarray[index].osd_command.attr[6].val); sm_p->u.create.datafile_handles[index] = oid; } @@ -750,68 +731,6 @@ static PINT_sm_action create_create_setup_msgpair( return SM_ACTION_COMPLETE; } -static PINT_sm_action create_set_oid_msgpair( - struct PINT_smcb *smcb, job_status_s *js_p) -{ - struct PINT_client_sm *sm_p = PINT_sm_frame(smcb, PINT_FRAME_CURRENT); - int ret = -PVFS_EINVAL; - PINT_sm_msgpair_state *msg_p = NULL; - - gossip_debug(GOSSIP_CLIENT_DEBUG, "create state: " - "set_oid_msgpair\n"); - - js_p->error_code = 0; - - PINT_msgpair_init(&sm_p->msgarray_op); - msg_p = &sm_p->msgarray_op.msgpair; - - struct osd_command *command = &sm_p->msgarray_op.msgarray[0].osd_command; - - struct attribute_list attrs = {ATTR_SET, PVFS_USEROBJECT_ATTR_PG, 6, sm_p->u.create.datafile_handles, sizeof(PVFS_handle) * sm_p->u.create.num_data_files}; - - ret = osd_command_set_set_attributes(command, PVFS_OSD_DATA_PID, sm_p->u.create.datafile_handles[0]); - if (ret) { - osd_error_xerrno(ret, "%s: osd_command_set_set_attributes failed", - __func__); - js_p->error_code = ret; - return 1; - } - - ret = osd_command_attr_build(command, &attrs, 1); - if (ret) { - osd_error_xerrno(ret, "%s: osd_command_attr_build failed", - __func__); - js_p->error_code = ret; - return 1; - } - - msg_p->fs_id = sm_p->object_ref.fs_id; - msg_p->retry_flag = PVFS_MSGPAIR_NO_RETRY; - msg_p->comp_fn = create_set_oid_comp_fn; - msg_p->handle = sm_p->u.create.io_handle_extent_array[0]. - extent_array[0].first; - msg_p->svr_addr = sm_p->u.create.data_server_addrs[0]; - - PINT_sm_push_frame(smcb, 0, &sm_p->msgarray_op); - return SM_ACTION_COMPLETE; -} - -static int create_set_oid_comp_fn(void *v_p, - struct PVFS_server_resp *resp_p, - int index) -{ - int status; - PINT_smcb *smcb = v_p; - PINT_client_sm *sm_p = PINT_sm_frame(smcb, PINT_MSGPAIR_PARENT_SM); - - gossip_debug(GOSSIP_CLIENT_DEBUG, "create_set_oid_comp_fn\n"); - - osd_command_attr_free(&sm_p->msgarray_op.msgpair.osd_command); - status = osd_errno_from_status(sm_p->msgarray_op.msgpair.osd_command.status); - - return status; -} - static PINT_sm_action create_datafiles_setup_msgpair_array( struct PINT_smcb *smcb, job_status_s *js_p) { @@ -904,7 +823,7 @@ static PINT_sm_action create_datafiles_setup_msgpair_array( PVFS_ATTR_COMMON_CTIME | PVFS_ATTR_COMMON_MTIME | PVFS_ATTR_META_DIST | - PVFS_ATTR_META_DFILES | + //PVFS_ATTR_META_DFILES | PVFS_ATTR_COMMON_TYPE; sm_p->u.create.attr.objtype = PVFS_TYPE_METAFILE; diff --git a/src/client/sysint/sys-getattr.sm b/src/client/sysint/sys-getattr.sm index dd87743..ac4e2b9 100644 --- a/src/client/sysint/sys-getattr.sm +++ b/src/client/sysint/sys-getattr.sm @@ -789,8 +789,10 @@ static int getattr_object_getattr_comp_fn( /* if we requested the datafile handles for the file, did * the datafile array get populated? */ + gossip_err("milan\n"); assert(attr->u.meta.dfile_array && (attr->u.meta.dfile_count > 0)); + gossip_err("baros\n"); gossip_debug(GOSSIP_GETATTR_DEBUG, "getattr_object_getattr_comp_fn: " diff --git a/src/client/sysint/sys-remove.sm b/src/client/sysint/sys-remove.sm index 5afd525..8009077 100644 --- a/src/client/sysint/sys-remove.sm +++ b/src/client/sysint/sys-remove.sm @@ -375,14 +375,17 @@ static int remove_rmdirent_comp_fn( struct PVFS_server_resp *resp_p, int index) { + gossip_err("remove_rmdirent_comp_fn\n"); int status; PINT_smcb *smcb = v_p; PINT_client_sm *sm_p = PINT_sm_frame(smcb, PINT_MSGPAIR_PARENT_SM); PINT_sm_msgpair_state *msg_p = &sm_p->msgarray_op.msgpair; if (server_is_osd(msg_p->svr_addr)) { + gossip_err("osd\n"); status = osd_errno_from_status(sm_p->msgarray_op.msgpair.osd_command.status); } else { + gossip_err("not_osd\n"); assert(resp_p->op == PVFS_SERV_RMDIRENT); status = resp_p->status;