I have made a patch for spank to allow to fetch the SLURM_RESTART_COUNT into my spank plugin.

The patch is attached (against 2.6.6).

Best regards,
Magnus

--
Magnus Jonsson, Developer, HPC2N, UmeƄ Universitet
diff a/slurm/spank.h b/slurm/spank.h
--- a/slurm/spank.h
+++ b/slurm/spank.h
@@ -169,7 +169,8 @@ enum spank_item {
     S_JOB_ALLOC_CORES,       /* Job allocated cores in list format (char **) */
     S_JOB_ALLOC_MEM,         /* Job allocated memory in MB (uint32_t *)      */
     S_STEP_ALLOC_CORES,      /* Step alloc'd cores in list format  (char **) */
-    S_STEP_ALLOC_MEM         /* Step alloc'd memory in MB (uint32_t *)       */
+    S_STEP_ALLOC_MEM,        /* Step alloc'd memory in MB (uint32_t *)       */
+    S_SLURM_RESTART_COUNT    /* Job restart count (uint32_t *)               */
 };
 
 typedef enum spank_item spank_item_t;
diff a/src/common/plugstack.c b/src/common/plugstack.c
--- a/src/common/plugstack.c
+++ b/src/common/plugstack.c
@@ -2133,6 +2133,13 @@ spank_err_t spank_get_item(spank_t spank, spank_item_t item, ...)
 		else
 			*p2uint32 = 0;
 		break;
+	case S_SLURM_RESTART_COUNT:
+		p2uint32 = va_arg(vargs, uint32_t *);
+		if (slurmd_job)
+			*p2uint32 = slurmd_job->restart_cnt;
+		else
+			*p2uint32 = 0;
+		break;
 	case S_SLURM_VERSION:
 		p2vers = va_arg(vargs, char  **);
 		*p2vers = SLURM_VERSION_STRING;

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to