If many parallel calls are made to makedirp, there is a possible race condition.
say your creating testdir/data/apps and testdir/data/log. the mkdirp call for data/apps sees that data doesn't exists and then the mkdir call for data/log sees the same. Both start to create the directory, but one of the two fails because the other already created the data dir. The failed mkdirp call returns directly and the other just creates all subdirs.
hmm, https://github.com/substack/node-mkdirp/blob/master/index.js#L12 needs to check if there the error is that the directory already exists.
Wrote a test. All fixed.