Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simpler version of simcall to get the file of a file
[simgrid.git] / src / simix / smx_io.c
index dde44a3..eb4eac7 100644 (file)
@@ -231,39 +231,16 @@ smx_action_t SIMIX_file_ls(smx_process_t process, const char* mount, const char
   return action;
 }
 
   return action;
 }
 
-void SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd)
+size_t SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd)
 {
 {
-  smx_action_t action = SIMIX_file_get_size(simcall->issuer, fd);
-  xbt_fifo_push(action->simcalls, simcall);
-  simcall->issuer->waiting_action = action;
+  return SIMIX_file_get_size(simcall->issuer, fd);
 }
 
 }
 
-smx_action_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd)
+size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd)
 {
 {
-  smx_action_t action;
   smx_host_t host = process->smx_host;
   smx_host_t host = process->smx_host;
-
-  /* check if the host is active */
-  if (surf_workstation_model->extension.
-      workstation.get_state(host) != SURF_RESOURCE_ON) {
-    THROWF(host_error, 0, "Host %s failed, you cannot call this function",
-           sg_host_name(host));
-  }
-
-  action = xbt_mallocator_get(simix_global->action_mallocator);
-  action->type = SIMIX_ACTION_IO;
-  action->name = NULL;
-#ifdef HAVE_TRACING
-  action->category = NULL;
-#endif
-
-  action->io.host = host;
-  action->io.surf_io = surf_workstation_model->extension.workstation.get_size(host, fd->surf_file);
-
-  surf_workstation_model->action_data_set(action->io.surf_io, action);
-  XBT_DEBUG("Create io action %p", action);
-
-  return action;
+  return  surf_workstation_model->extension.workstation.get_size(host,
+      fd->surf_file);
 }
 
 
 }
 
 
@@ -313,11 +290,6 @@ void SIMIX_post_io(smx_action_t action)
 //      }
       simcall_file_ls__set__result(simcall, (action->io.surf_io)->ls_dict);
       break;
 //      }
       simcall_file_ls__set__result(simcall, (action->io.surf_io)->ls_dict);
       break;
-    case SIMCALL_FILE_GET_SIZE:
-      simcall_file_get_size__set__result(simcall,
-          ((action->io.surf_io)->file->size));
-      break;
-
     default:
       break;
     }
     default:
       break;
     }