/// <summary>create a directory at path specified by parent</summary> /// <exception cref="Org.Apache.Hadoop.Hdfs.Protocol.QuotaExceededException"/> /// <exception cref="Org.Apache.Hadoop.Hdfs.Protocol.AclException"/> /// <exception cref="Org.Apache.Hadoop.FS.FileAlreadyExistsException"/> private static INodesInPath UnprotectedMkdir(FSDirectory fsd, long inodeId, INodesInPath parent, byte[] name, PermissionStatus permission, IList <AclEntry> aclEntries, long timestamp) { System.Diagnostics.Debug.Assert(fsd.HasWriteLock()); System.Diagnostics.Debug.Assert(parent.GetLastINode() != null); if (!parent.GetLastINode().IsDirectory()) { throw new FileAlreadyExistsException("Parent path is not a directory: " + parent. GetPath() + " " + DFSUtil.Bytes2String(name)); } INodeDirectory dir = new INodeDirectory(inodeId, name, permission, timestamp); INodesInPath iip = fsd.AddLastINode(parent, dir, true); if (iip != null && aclEntries != null) { AclStorage.UpdateINodeAcl(dir, aclEntries, Org.Apache.Hadoop.Hdfs.Server.Namenode.Snapshot.Snapshot .CurrentStateId); } return(iip); }