boolean success = fs.mkdirs(f);
if (!success) {
return false;
} else {
HadoopShims shim = ShimLoader.getHadoopShims();
HdfsFileStatus fullFileStatus = shim.getFullFileStatus(conf, fs, lastExistingParent);
try {
//set on the entire subtree
shim.setFullFileStatus(conf, fullFileStatus, fs, firstNonExistentParent);
} catch (Exception e) {
LOG.warn("Error setting permissions of " + firstNonExistentParent, e);