X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/adb43549f2dd02ba002503aa6f11ad317075e3cf..a78ea01a79ad9f2b8586a3d481edbd461167631e:/src/simix/smx_io.c diff --git a/src/simix/smx_io.c b/src/simix/smx_io.c index 9f4f6dc876..dd52bf1d47 100644 --- a/src/simix/smx_io.c +++ b/src/simix/smx_io.c @@ -16,15 +16,15 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_io, simix, //SIMIX FILE READ -void SIMIX_pre_file_read(smx_simcall_t simcall, void *ptr, size_t size, +void SIMIX_pre_file_read(smx_simcall_t simcall, size_t size, smx_file_t fd) { - smx_action_t action = SIMIX_file_read(simcall->issuer, ptr, size, fd); + smx_action_t action = SIMIX_file_read(simcall->issuer, size, fd); xbt_fifo_push(action->simcalls, simcall); simcall->issuer->waiting_action = action; } -smx_action_t SIMIX_file_read(smx_process_t process, void* ptr, size_t size, +smx_action_t SIMIX_file_read(smx_process_t process, size_t size, smx_file_t fd) { smx_action_t action; @@ -46,7 +46,7 @@ smx_action_t SIMIX_file_read(smx_process_t process, void* ptr, size_t size, action->io.host = host; action->io.surf_io = - surf_workstation_model->extension.workstation.read(host, ptr, size, + surf_workstation_model->extension.workstation.read(host, size, fd->surf_file); surf_workstation_model->action_data_set(action->io.surf_io, action); @@ -56,15 +56,15 @@ smx_action_t SIMIX_file_read(smx_process_t process, void* ptr, size_t size, } //SIMIX FILE WRITE -void SIMIX_pre_file_write(smx_simcall_t simcall, const void *ptr, size_t size, +void SIMIX_pre_file_write(smx_simcall_t simcall, size_t size, smx_file_t fd) { - smx_action_t action = SIMIX_file_write(simcall->issuer, ptr, size, fd); + smx_action_t action = SIMIX_file_write(simcall->issuer, size, fd); xbt_fifo_push(action->simcalls, simcall); simcall->issuer->waiting_action = action; } -smx_action_t SIMIX_file_write(smx_process_t process, const void* ptr, +smx_action_t SIMIX_file_write(smx_process_t process, size_t size, smx_file_t fd) { smx_action_t action; @@ -86,7 +86,7 @@ smx_action_t SIMIX_file_write(smx_process_t process, const void* ptr, action->io.host = host; action->io.surf_io = - surf_workstation_model->extension.workstation.write(host, ptr, size, + surf_workstation_model->extension.workstation.write(host, size, fd->surf_file); surf_workstation_model->action_data_set(action->io.surf_io, action); @@ -239,6 +239,39 @@ size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd) fd->surf_file); } +xbt_dynar_t SIMIX_pre_file_get_info(smx_simcall_t simcall, smx_file_t fd) +{ + return SIMIX_file_get_info(simcall->issuer, fd); +} + +xbt_dynar_t SIMIX_file_get_info(smx_process_t process, smx_file_t fd) +{ + smx_host_t host = process->smx_host; + return surf_workstation_model->extension.workstation.get_info(host, + fd->surf_file); +} + +size_t SIMIX_pre_storage_get_free_size(smx_simcall_t simcall, const char* name) +{ + return SIMIX_storage_get_free_size(simcall->issuer, name); +} + +size_t SIMIX_storage_get_free_size(smx_process_t process, const char* name) +{ + smx_host_t host = process->smx_host; + return surf_workstation_model->extension.workstation.get_free_size(host,name); +} + +size_t SIMIX_pre_storage_get_used_size(smx_simcall_t simcall, const char* name) +{ + return SIMIX_storage_get_used_size(simcall->issuer, name); +} + +size_t SIMIX_storage_get_used_size(smx_process_t process, const char* name) +{ + smx_host_t host = process->smx_host; + return surf_workstation_model->extension.workstation.get_used_size(host,name); +} void SIMIX_post_io(smx_action_t action) {