View | Details | Raw Unified | Return to ticket 14340
Collapse All | Expand All

(-)a/src/plugins/burst_buffer/common/burst_buffer_common.h (+1 lines)
Lines 176-181 typedef struct bb_job { Link Here
176
	bool       use_job_buf;	/* True if uses job buffer,
176
	bool       use_job_buf;	/* True if uses job buffer,
177
				 * false if uses persistent buffer only */
177
				 * false if uses persistent buffer only */
178
	uint32_t   user_id;	/* user the job runs as */
178
	uint32_t   user_id;	/* user the job runs as */
179
	uint32_t   group_id;	/* usergroup the job runs as */
179
} bb_job_t;
180
} bb_job_t;
180
181
181
/* Used for building queue of jobs records for various purposes */
182
/* Used for building queue of jobs records for various purposes */
(-)a/src/plugins/burst_buffer/lua/burst_buffer_lua.c (-2 / +15 lines)
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";

Return to ticket 14340