diff --git a/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneFileSystem.java b/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneFileSystem.java index bd90b2d3ba..6a5274612d 100644 --- a/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneFileSystem.java +++ b/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneFileSystem.java @@ -563,51 +563,14 @@ public class BasicOzoneFileSystem extends FileSystem { } /** - * Check whether the path is valid and then create directories. - * Directory is represented using a key with no value. - * All the non-existent parent directories are also created. + * Creates a directory. Directory is represented using a key with no value. * * @param path directory path to be created * @return true if directory exists or created successfully. * @throws IOException */ private boolean mkdir(Path path) throws IOException { - Path fPart = path; - Path prevfPart = null; - do { - LOG.trace("validating path:{}", fPart); - try { - FileStatus fileStatus = getFileStatus(fPart); - if (fileStatus.isDirectory()) { - // If path exists and a directory, exit - break; - } else { - // Found a file here, rollback and delete newly created directories - LOG.trace("Found a file with same name as directory, path:{}", fPart); - if (prevfPart != null) { - delete(prevfPart, true); - } - throw new FileAlreadyExistsException(String.format( - "Can't make directory for path '%s', it is a file.", fPart)); - } - } catch (FileNotFoundException | OMException fnfe) { - LOG.trace("creating directory for fpart:{}", fPart); - String key = pathToKey(fPart); - String dirKey = addTrailingSlashIfNeeded(key); - if (!adapter.createDirectory(dirKey)) { - // Directory creation failed here, - // rollback and delete newly created directories - LOG.trace("Directory creation failed, path:{}", fPart); - if (prevfPart != null) { - delete(prevfPart, true); - } - return false; - } - } - prevfPart = fPart; - fPart = fPart.getParent(); - } while (fPart != null); - return true; + return adapter.createDirectory(pathToKey(path)); } @Override