diff --git a/src/common/slurm_cred.c b/src/common/slurm_cred.c
index 119aa5527051d79861615f0ff5a9d6af0472fce5..0d1d2ac6a71abd42232b23da1a918ce8840931bb 100644
--- a/src/common/slurm_cred.c
+++ b/src/common/slurm_cred.c
@@ -1064,7 +1064,7 @@ slurm_cred_print(slurm_cred_t cred)
 	info("Cred: job_mem  %u",  cred->job_mem       );
 	info("Cred: task_mem %u",  cred->task_mem      );
 	info("Cred: Nodes    %s",  cred->nodes         );
-	info("Cred: alloc_lps_cnt %d", cred->alloc_lps_cnt     ); 
+	info("Cred: alloc_lps_cnt %u", cred->alloc_lps_cnt     ); 
 	info("Cred: alloc_lps: ");                            
 	for (i=0; i<cred->alloc_lps_cnt; i++)                 
 		info("alloc_lps[%d] = %u ", i, cred->alloc_lps[i]);
@@ -1074,6 +1074,18 @@ slurm_cred_print(slurm_cred_t cred)
 
 }
 
+int slurm_cred_get_alloc_lps(slurm_cred_t cred, char **nodes,
+			     uint32_t *alloc_lps_cnt, uint32_t **alloc_lps)
+{
+	if ((cred == NULL) || (nodes == NULL) ||
+	    (alloc_lps_cnt == NULL) || (alloc_lps == NULL))
+		return EINVAL;
+
+	*nodes         = cred->nodes;
+	*alloc_lps_cnt = cred->alloc_lps_cnt;
+	*alloc_lps     = cred->alloc_lps;
+	return SLURM_SUCCESS;
+}
 
 static void 
 _verifier_ctx_init(slurm_cred_ctx_t ctx)
diff --git a/src/common/slurm_cred.h b/src/common/slurm_cred.h
index 9ddb0d36e69aee433f20580477b5438043a8d4ea..cfe67fd61c80d815c4caa5d3c3b197f46cec3c62 100644
--- a/src/common/slurm_cred.h
+++ b/src/common/slurm_cred.h
@@ -267,6 +267,11 @@ int slurm_cred_get_signature(slurm_cred_t cred, char **datap, int *len);
  */
 void slurm_cred_print(slurm_cred_t cred);
 
+/*
+ * Get count of allocated LPS (processors) by node
+ */
+int slurm_cred_get_alloc_lps(slurm_cred_t cred, char **nodes, 
+			     uint32_t *alloc_lps_cnt, uint32_t **alloc_lps);
 #ifdef DISABLE_LOCALTIME
 extern char * timestr (const time_t *tp, char *buf, size_t n);
 #endif