diff --git a/src/plugins/burst_buffer/cray/burst_buffer_cray.c b/src/plugins/burst_buffer/cray/burst_buffer_cray.c index 52d15e9744b4110e6a62cdb5a670e630a5c9e2a7..c0b0ac3ffdd10eb70d4fc30a79f0716630d7d3e5 100644 --- a/src/plugins/burst_buffer/cray/burst_buffer_cray.c +++ b/src/plugins/burst_buffer/cray/burst_buffer_cray.c @@ -213,6 +213,7 @@ static bb_pools_t *_bb_get_pools(int *num_ent, bb_state_t *state_ptr, uint32_t timeout); static bb_sessions_t *_bb_get_sessions(int *num_ent, bb_state_t *state_ptr, uint32_t timeout); +static int _build_bb_script(struct job_record *job_ptr, char *script_file); static int _create_bufs(struct job_record *job_ptr, bb_job_t *bb_job, bool job_ready); static void * _create_persistent(void *x); @@ -2730,6 +2731,21 @@ fini: xfree(access); return rc; } +/* For interactive jobs, build a script containing the relevant DataWarp + * commands, as needed by the Cray API */ +static int _build_bb_script(struct job_record *job_ptr, char *script_file) +{ + char *out_buf = NULL; + int rc; + + xstrcat(out_buf, "#!/bin/bash\n"); + xstrcat(out_buf, job_ptr->burst_buffer); + rc = _write_file(script_file, out_buf); + xfree(out_buf); + + return rc; +} + /* * init() is called when the plugin is loaded, before any other functions * are called. Read and validate configuration file here. Spawn thread to