|
Lines 171-176
typedef struct {
Link Here
|
| 171 |
uint32_t job_id; |
171 |
uint32_t job_id; |
| 172 |
char *job_script; |
172 |
char *job_script; |
| 173 |
uint32_t uid; |
173 |
uint32_t uid; |
|
|
174 |
uint32_t gid; |
| 174 |
} stage_out_args_t; |
175 |
} stage_out_args_t; |
| 175 |
|
176 |
|
| 176 |
typedef struct { |
177 |
typedef struct { |
|
Lines 954-959
static void *_start_stage_out(void *x)
Link Here
|
| 954 |
|
955 |
|
| 955 |
if (rc == SLURM_SUCCESS) { |
956 |
if (rc == SLURM_SUCCESS) { |
| 956 |
xfree(resp_msg); |
957 |
xfree(resp_msg); |
|
|
958 |
argc = 4; |
| 959 |
argv = xcalloc(argc + 1, sizeof (char *)); /* NULL-terminated */ |
| 960 |
argv[0] = xstrdup_printf("%u", stage_out_args->job_id); |
| 961 |
argv[1] = xstrdup_printf("%u", stage_out_args->uid); |
| 962 |
argv[2] = xstrdup_printf("%u", stage_out_args->gid); |
| 963 |
argv[3] = xstrdup_printf("%s", stage_out_args->job_script); |
| 964 |
|
| 957 |
timeout = bb_state.bb_config.stage_out_timeout; |
965 |
timeout = bb_state.bb_config.stage_out_timeout; |
| 958 |
op = "slurm_bb_data_out"; |
966 |
op = "slurm_bb_data_out"; |
| 959 |
START_TIMER; |
967 |
START_TIMER; |
|
Lines 1037-1042
static void _queue_stage_out(job_record_t *job_ptr, bb_job_t *bb_job)
Link Here
|
| 1037 |
stage_out_args = xmalloc(sizeof *stage_out_args); |
1045 |
stage_out_args = xmalloc(sizeof *stage_out_args); |
| 1038 |
stage_out_args->job_id = bb_job->job_id; |
1046 |
stage_out_args->job_id = bb_job->job_id; |
| 1039 |
stage_out_args->uid = bb_job->user_id; |
1047 |
stage_out_args->uid = bb_job->user_id; |
|
|
1048 |
stage_out_args->gid = bb_job->group_id; |
| 1040 |
stage_out_args->job_script = bb_handle_job_script(job_ptr, bb_job); |
1049 |
stage_out_args->job_script = bb_handle_job_script(job_ptr, bb_job); |
| 1041 |
|
1050 |
|
| 1042 |
slurm_thread_create_detached(&tid, _start_stage_out, stage_out_args); |
1051 |
slurm_thread_create_detached(&tid, _start_stage_out, stage_out_args); |
|
Lines 1348-1353
static bb_job_t *_get_bb_job(job_record_t *job_ptr)
Link Here
|
| 1348 |
bb_state_num(job_ptr->burst_buffer_state) : BB_STATE_PENDING; |
1357 |
bb_state_num(job_ptr->burst_buffer_state) : BB_STATE_PENDING; |
| 1349 |
bb_set_job_bb_state(job_ptr, bb_job, new_bb_state); |
1358 |
bb_set_job_bb_state(job_ptr, bb_job, new_bb_state); |
| 1350 |
bb_job->user_id = job_ptr->user_id; |
1359 |
bb_job->user_id = job_ptr->user_id; |
|
|
1360 |
bb_job->group_id = job_ptr->group_id; |
| 1351 |
bb_specs = xstrdup(job_ptr->burst_buffer); |
1361 |
bb_specs = xstrdup(job_ptr->burst_buffer); |
| 1352 |
|
1362 |
|
| 1353 |
tok = strtok_r(bb_specs, "\n", &save_ptr); |
1363 |
tok = strtok_r(bb_specs, "\n", &save_ptr); |
|
Lines 2494-2503
static void *_start_stage_in(void *x)
Link Here
|
| 2494 |
if (rc == SLURM_SUCCESS) { |
2504 |
if (rc == SLURM_SUCCESS) { |
| 2495 |
xfree(resp_msg); |
2505 |
xfree(resp_msg); |
| 2496 |
free_command_argv(argv); |
2506 |
free_command_argv(argv); |
| 2497 |
argc = 2; |
2507 |
argc = 4; |
| 2498 |
argv = xcalloc(argc + 1, sizeof (char *)); /* NULL-terminated */ |
2508 |
argv = xcalloc(argc + 1, sizeof (char *)); /* NULL-terminated */ |
| 2499 |
argv[0] = xstrdup_printf("%u", stage_in_args->job_id); |
2509 |
argv[0] = xstrdup_printf("%u", stage_in_args->job_id); |
| 2500 |
argv[1] = xstrdup_printf("%s", stage_in_args->job_script); |
2510 |
argv[1] = xstrdup_printf("%u", stage_in_args->uid); |
|
|
2511 |
argv[2] = xstrdup_printf("%u", stage_in_args->gid); |
| 2512 |
argv[3] = xstrdup_printf("%s", stage_in_args->job_script); |
| 2513 |
|
| 2501 |
|
2514 |
|
| 2502 |
timeout = bb_state.bb_config.stage_in_timeout; |
2515 |
timeout = bb_state.bb_config.stage_in_timeout; |
| 2503 |
op = "slurm_bb_data_in"; |
2516 |
op = "slurm_bb_data_in"; |