diff --git a/ompi/mca/btl/btl.h b/ompi/mca/btl/btl.h index 0b7b49a025..bea0d8e2b5 100644 --- a/ompi/mca/btl/btl.h +++ b/ompi/mca/btl/btl.h @@ -11,6 +11,7 @@ * All rights reserved. * Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights * reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -503,13 +504,17 @@ typedef int (*mca_btl_base_module_register_fn_t)( * Callback function that is called asynchronously on receipt * of an error from the transport layer * - * @param[IN] btl BTL module - * @param[IN] flags type of error + * @param[IN] btl BTL module + * @param[IN] flags type of error + * @param[IN] errproc process that had an error + * @param[IN] btlinfo descriptive string from the BTL */ typedef void (*mca_btl_base_module_error_cb_fn_t)( struct mca_btl_base_module_t* btl, - int32_t flags + int32_t flags, + struct ompi_proc_t* errproc, + char* btlinfo ); diff --git a/ompi/mca/btl/openib/btl_openib_component.c b/ompi/mca/btl/openib/btl_openib_component.c index 42b6286958..c241daa0e0 100644 --- a/ompi/mca/btl/openib/btl_openib_component.c +++ b/ompi/mca/btl/openib/btl_openib_component.c @@ -15,7 +15,7 @@ * Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights * reserved. * Copyright (c) 2006-2007 Voltaire All rights reserved. - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -3246,7 +3246,8 @@ static void handle_wc(mca_btl_openib_device_t* device, const uint32_t cq, /* Process a RECV */ if(btl_openib_handle_incoming(openib_btl, endpoint, to_recv_frag(frag), wc->byte_len) != OMPI_SUCCESS) { - openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL); + openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL, + NULL, NULL); break; } @@ -3263,7 +3264,8 @@ static void handle_wc(mca_btl_openib_device_t* device, const uint32_t cq, default: BTL_ERROR(("Unhandled work completion opcode is %d", wc->opcode)); if(openib_btl) - openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL); + openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL, + NULL, NULL); break; } @@ -3341,7 +3343,8 @@ error: } if(openib_btl) - openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL); + openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL, + NULL, NULL); } static int poll_device(mca_btl_openib_device_t* device, int count) @@ -3471,7 +3474,7 @@ static int progress_one_device(mca_btl_openib_device_t *device) ret = btl_openib_handle_incoming(btl, to_com_frag(frag)->endpoint, frag, size - sizeof(mca_btl_openib_footer_t)); if (ret != OMPI_SUCCESS) { - btl->error_cb(&btl->super, MCA_BTL_ERROR_FLAGS_FATAL); + btl->error_cb(&btl->super, MCA_BTL_ERROR_FLAGS_FATAL, NULL, NULL); return 0; } @@ -3522,7 +3525,8 @@ error: mca_btl_openib_module_t* openib_btl = mca_btl_openib_component.openib_btls[i]; if(openib_btl->device->got_fatal_event) { - openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL); + openib_btl->error_cb(&openib_btl->super, MCA_BTL_ERROR_FLAGS_FATAL, + NULL, NULL); } } return count; diff --git a/ompi/mca/btl/openib/btl_openib_endpoint.c b/ompi/mca/btl/openib/btl_openib_endpoint.c index 6955ca5e49..afa094021d 100644 --- a/ompi/mca/btl/openib/btl_openib_endpoint.c +++ b/ompi/mca/btl/openib/btl_openib_endpoint.c @@ -16,6 +16,7 @@ * Copyright (c) 2006-2007 Voltaire All rights reserved. * Copyright (c) 2006-2009 Mellanox Technologies, Inc. All rights reserved. * Copyright (c) 2010 IBM Corporation. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved * * $COPYRIGHT$ * @@ -1029,7 +1030,7 @@ void *mca_btl_openib_endpoint_invoke_error(void *context) } /* Invoke the callback to the upper layer */ - btl->error_cb(&(btl->super), MCA_BTL_ERROR_FLAGS_FATAL); + btl->error_cb(&(btl->super), MCA_BTL_ERROR_FLAGS_FATAL, NULL, NULL); /* Will likely never get here */ return NULL; diff --git a/ompi/mca/pml/csum/pml_csum.c b/ompi/mca/pml/csum/pml_csum.c index 18acad7132..e33f6c9c89 100644 --- a/ompi/mca/pml/csum/pml_csum.c +++ b/ompi/mca/pml/csum/pml_csum.c @@ -15,7 +15,7 @@ * Copyright (c) 2009 IBM Corporation. All rights reserved. * Copyright (c) 2009 Los Alamos National Security, LLC. All rights * reserved. - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -82,7 +82,8 @@ mca_pml_csum_t mca_pml_csum = { void mca_pml_csum_error_handler( struct mca_btl_base_module_t* btl, - int32_t flags ); + int32_t flags, ompi_proc_t* errproc, + char* btlinfo ); int mca_pml_csum_enable(bool enable) { @@ -632,8 +633,8 @@ void mca_pml_csum_process_pending_rdma(void) void mca_pml_csum_error_handler( - struct mca_btl_base_module_t* btl, - int32_t flags) { + struct mca_btl_base_module_t* btl, int32_t flags, + ompi_proc_t* errproc, char* btlinfo) { orte_errmgr.abort(-1, NULL); } diff --git a/ompi/mca/pml/dr/pml_dr.c b/ompi/mca/pml/dr/pml_dr.c index 4c706e960d..2005c2108b 100644 --- a/ompi/mca/pml/dr/pml_dr.c +++ b/ompi/mca/pml/dr/pml_dr.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2006 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -66,7 +66,8 @@ mca_pml_dr_t mca_pml_dr = { }; void mca_pml_dr_error_handler( struct mca_btl_base_module_t* btl, - int32_t flags ); + int32_t flags, ompi_proc_t* errproc, + char* btlinfo ); int mca_pml_dr_enable(bool enable) { @@ -317,8 +318,8 @@ int mca_pml_dr_dump( void mca_pml_dr_error_handler( - struct mca_btl_base_module_t* btl, - int32_t flags) { + struct mca_btl_base_module_t* btl, int32_t flags, + ompi_proc_t* errproc, char* btlinfo) { /* try failover ! */ opal_output(0, "%s:%d:%s: failing BTL: %s", __FILE__, __LINE__, __func__, btl->btl_component->btl_version.mca_component_name); diff --git a/ompi/mca/pml/ob1/pml_ob1.c b/ompi/mca/pml/ob1/pml_ob1.c index 0b399e2b3f..6876b2ab29 100644 --- a/ompi/mca/pml/ob1/pml_ob1.c +++ b/ompi/mca/pml/ob1/pml_ob1.c @@ -12,7 +12,7 @@ * All rights reserved. * Copyright (c) 2008 UT-Battelle, LLC. All rights reserved. * Copyright (c) 2006-2008 University of Houston. All rights reserved. - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -72,7 +72,8 @@ mca_pml_ob1_t mca_pml_ob1 = { void mca_pml_ob1_error_handler( struct mca_btl_base_module_t* btl, - int32_t flags ); + int32_t flags, ompi_proc_t* errproc, + char* btlinfo ); int mca_pml_ob1_enable(bool enable) { @@ -601,8 +602,8 @@ void mca_pml_ob1_process_pending_rdma(void) void mca_pml_ob1_error_handler( - struct mca_btl_base_module_t* btl, - int32_t flags) { + struct mca_btl_base_module_t* btl, int32_t flags, + ompi_proc_t* errproc, char* btlname ) { orte_errmgr.abort(-1, NULL); }