if (strcmp(storage_priv_src->hostname, MSG_host_self()->cname())) {
/* the file is hosted on a remote host, initiate a communication between src and dest hosts for data transfer */
XBT_DEBUG("File is on %s remote host, initiate data transfer of %llu bytes.", storage_priv_src->hostname, read_size);
- msg_host_t *m_host_list = nullptr;
- m_host_list = xbt_new0(msg_host_t, 2);
-
- m_host_list[0] = MSG_host_self();
- m_host_list[1] = attached_host;
- double flops_amount[] = { 0, 0};
- double bytes_amount[] = { 0, 0, static_cast<double>(read_size), 0 };
+ msg_host_t m_host_list[] = {MSG_host_self(), attached_host};
+ double flops_amount[] = {0, 0};
+ double bytes_amount[] = {0, 0, static_cast<double>(read_size), 0};
msg_task_t task = MSG_parallel_task_create("file transfer for read", 2, m_host_list, flops_amount, bytes_amount,
nullptr);
msg_error_t transfer = MSG_parallel_task_execute(task);
MSG_task_destroy(task);
- xbt_free(m_host_list);
+
if(transfer != MSG_OK){
if (transfer == MSG_HOST_FAILURE)
XBT_WARN("Transfer error, %s remote host just turned off!", attached_host->cname());
if (strcmp(storage_priv_src->hostname, MSG_host_self()->cname())) {
/* the file is hosted on a remote host, initiate a communication between src and dest hosts for data transfer */
XBT_DEBUG("File is on %s remote host, initiate data transfer of %llu bytes.", storage_priv_src->hostname, size);
- msg_host_t *m_host_list = nullptr;
- m_host_list = xbt_new0(msg_host_t, 2);
-
- m_host_list[0] = MSG_host_self();
- m_host_list[1] = attached_host;
- double flops_amount[] = { 0, 0 };
- double bytes_amount[] = { 0, static_cast<double>(size), 0, 0 };
+ msg_host_t m_host_list[] = {MSG_host_self(), attached_host};
+ double flops_amount[] = {0, 0};
+ double bytes_amount[] = {0, static_cast<double>(size), 0, 0};
msg_task_t task = MSG_parallel_task_create("file transfer for write", 2, m_host_list, flops_amount, bytes_amount,
nullptr);
msg_error_t transfer = MSG_parallel_task_execute(task);
MSG_task_destroy(task);
- free(m_host_list);
+
if(transfer != MSG_OK){
if (transfer == MSG_HOST_FAILURE)
XBT_WARN("Transfer error, %s remote host just turned off!", attached_host->cname());
char *mount_name;
char *storage_name;
xbt_dict_foreach(storage_list,cursor,mount_name,storage_name){
- char* file_mount_name = static_cast<char *>(xbt_malloc ((strlen(mount_name)+1)));
- strncpy(file_mount_name,fullpath,strlen(mount_name)+1);
+ char* file_mount_name = static_cast<char*>(xbt_malloc(strlen(mount_name) + 1));
+ strncpy(file_mount_name, fullpath, strlen(mount_name) + 1);
file_mount_name[strlen(mount_name)] = '\0';
- if(!strcmp(file_mount_name,mount_name) && strlen(mount_name)>longest_prefix_length){
+ if (!strcmp(file_mount_name, mount_name) && strlen(mount_name) > longest_prefix_length) {
/* The current mount name is found in the full path and is bigger than the previous*/
longest_prefix_length = strlen(mount_name);
- storage_dest = (msg_storage_t) xbt_lib_get_elm_or_null(storage_lib, storage_name);
+ storage_dest = (msg_storage_t)xbt_lib_get_elm_or_null(storage_lib, storage_name);
}
xbt_free(file_mount_name);
}
XBT_DEBUG("Initiate data transfer of %llu bytes between %s and %s.", read_size, storage_priv_src->hostname,
host_name_dest);
- msg_host_t *m_host_list = nullptr;
- m_host_list = xbt_new0(msg_host_t, 2);
-
- m_host_list[0] = attached_host;
- m_host_list[1] = host_dest;
- double flops_amount[] = { 0, 0 };
- double bytes_amount[] = { 0, static_cast<double>(read_size), 0, 0 };
+ msg_host_t m_host_list[] = {attached_host, host_dest};
+ double flops_amount[] = {0, 0};
+ double bytes_amount[] = {0, static_cast<double>(read_size), 0, 0};
msg_task_t task =
MSG_parallel_task_create("file transfer for write", 2, m_host_list, flops_amount, bytes_amount, nullptr);
msg_error_t transfer = MSG_parallel_task_execute(task);
MSG_task_destroy(task);
- xbt_free(m_host_list);
+
if(transfer != MSG_OK){
if (transfer == MSG_HOST_FAILURE)
XBT_WARN("Transfer error, %s remote host just turned off!", host_name_dest);
{
msg_storage_priv_t storage_private = xbt_new0(s_msg_storage_priv_t, 1);
- storage_private->name = SIMIX_storage_get_name(storage);
+ storage_private->name = surf_storage_get_name(storage);
storage_private->hostname = surf_storage_get_host(storage);
storage_private->size = surf_storage_get_size(storage);