diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 26a8c879d4c4aeffe802ac72627c5c6737c78cb0..e0877c0a94a18aa6d6697792d10263639ef7e2f0 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -56,6 +56,7 @@ import hudson.model.labels.LabelExpression; import hudson.model.listeners.SCMPollListener; import hudson.model.queue.CauseOfBlockage; import hudson.model.queue.SubTaskContributor; +import hudson.node_monitors.DiskSpaceMonitor; import hudson.scm.ChangeLogSet; import hudson.scm.ChangeLogSet.Entry; import hudson.scm.NullSCM; @@ -1371,7 +1372,13 @@ public abstract class AbstractProject
,R extends A return true; // no SCM FilePath workspace = build.getWorkspace(); - workspace.mkdirs(); + try { + workspace.mkdirs(); + } catch (IOException e) { + // Can't create workspace dir - Is slave disk full ? + new DiskSpaceMonitor().data(build.getBuiltOn().toComputer()); + throw e; + } boolean r = scm.checkout(build, launcher, workspace, listener, changelogFile); if (r) {