From b67c85e9d95ba3978fc3188ce56982966c828f80 Mon Sep 17 00:00:00 2001
From: handreas <andreas.hamacher@monash.edu>
Date: Fri, 15 Oct 2021 11:53:12 +1100
Subject: [PATCH] updating spank plugin

---
 .../files/spank-private-tmp/private-tmpdir.c  | 43 ++++++++-----------
 roles/slurm-start/tasks/main.yml              | 22 +++++-----
 2 files changed, 28 insertions(+), 37 deletions(-)

diff --git a/roles/slurm-common/files/spank-private-tmp/private-tmpdir.c b/roles/slurm-common/files/spank-private-tmp/private-tmpdir.c
index e1d82bd7..c685c23d 100644
--- a/roles/slurm-common/files/spank-private-tmp/private-tmpdir.c
+++ b/roles/slurm-common/files/spank-private-tmp/private-tmpdir.c
@@ -54,29 +54,19 @@ static int _tmpdir_init_opts(spank_t sp, int ac, char **av);
  */
 int slurm_spank_init(spank_t sp, int ac, char **av)
 {
-	if (spank_context () != S_CTX_REMOTE)
-		return (0);
+	if (spank_context () != S_CTX_REMOTE) return (0);
 	return _tmpdir_init_opts(sp, ac, av);
 }
 
 int slurm_spank_exit(spank_t sp, int ac, char **av)
 {
-	if (spank_context () != S_CTX_REMOTE)
-		return (0);
+	if (spank_context () != S_CTX_REMOTE) return (0);
 	return _tmpdir_cleanup(sp, ac, av);
 }
 
 int slurm_spank_job_prolog(spank_t sp, int ac, char **av)
-{
-	slurm_error("private-tmpdir: slurm_spamk_job_prolog");
-	return 0;
-}
-
-int _slurm_spank_job_prolog(spank_t sp, int ac, char **av)
 {
 	int rc, i;
-	if (spank_context () != S_CTX_REMOTE)
-		return (0);
 	if (_tmpdir_init(sp, ac, av))
 		return -1;
 	for (i = 0; i < base_count; i++) {
@@ -144,10 +134,6 @@ int slurm_spank_init_post_opt(spank_t sp, int ac, char **av)
 {
 	if (spank_context () != S_CTX_REMOTE)
 		return (0);
-	int rc = _slurm_spank_job_prolog(sp,ac,av);
-	if(rc) {
-		return rc;
-	}
 	return _tmpdir_bind(sp, ac, av);
 }
 
@@ -205,22 +191,27 @@ static int _tmpdir_bind(spank_t sp, int ac, char **av)
 
 static int _tmpdir_cleanup(spank_t sp, int ac, char **av)
 {
-	return 0;
 	char *prev_base = NULL;
 	int i;
 
-	for (i = 0; i < MAX_BIND_DIRS; i++) {
+	for (i = 0; i < base_count; i++) {
 		if (bases[i] != prev_base) {
 			prev_base = bases[i];
-			slurm_error("private-tmpdir: bases: free: %p", bases[i]);
-			free(bases[i]);
+			if(bases[i]) {
+				free(bases[i]);
+			}
+		}
+		if(base_paths[i]) {
+			free(base_paths[i]);
+		}
+	}
+	for (i = 0; i < bind_count; i++) {
+		if(bind_dirs[i]) {
+			free(bind_dirs[i]);
+		}
+		if(bind_paths[i]) {
+			free(bind_paths[i]);
 		}
-		slurm_error("private-tmpdir: base_paths: free: %p",  base_paths[i]);
-		free(base_paths[i]);
-		slurm_error("private-tmpdir: bind_dirs: free: %p",  bind_dirs[i]);
-		free(bind_dirs[i]);
-		slurm_error("private-tmpdir: bind_paths: free: %p",  bind_paths[i]);
-		free(bind_paths[i]);
 	}
 	return 0;
 }
diff --git a/roles/slurm-start/tasks/main.yml b/roles/slurm-start/tasks/main.yml
index 364ff96e..b635b5bf 100644
--- a/roles/slurm-start/tasks/main.yml
+++ b/roles/slurm-start/tasks/main.yml
@@ -43,17 +43,17 @@
   when: use_systemd is defined and start_slurmd is defined
   register: slurmd_service_installed
 
-- name:  copy slurmd.service backup
-  template: dest=/etc/systemd/system/slurmd.service src=slurmd.service.secondary.j2 mode=644
-  become: true
-  register: slurmd_service_installed
-  tags: [never,DEPLOYSLURMDSERVICEBACKUP]
-
-- name: reload systemd after copying secondary slurmd.service backup
-  systemd:
-    daemon_reload: yes
-  become: true
-  tags: [never,DEPLOYSLURMDSERVICEBACKUP]
+#- name:  copy slurmd.service backup
+#  template: dest=/etc/systemd/system/slurmd.service src=slurmd.service.secondary.j2 mode=644
+#  become: true
+#  register: slurmd_service_installed
+#  tags: [never,DEPLOYSLURMDSERVICEBACKUP]
+
+#- name: reload systemd after copying secondary slurmd.service backup
+#  systemd:
+#    daemon_reload: yes
+#  become: true
+#  tags: [never,DEPLOYSLURMDSERVICEBACKUP]
 
 - name: deploy glusterfsheltest
   template: dest=/etc/systemd/system/glusterfsheltest.sh src=templates/glusterfsheltest.sh.j2 mode=744
-- 
GitLab