code: public boolean mkdirs(String src, FsPermission permission)throws IOException{
      checkOpen();
      clearFileStatusCache();
       
      if (permission == null) {
        permission = FsPermission.getDefault();
      }
      FsPermission masked = permission.applyUMask(FsPermission.getUMask(conf));
      LOG.debug(src + ": masked=" + masked);
      try {
        metrics.incNumCreateDirOps();
        return namenode.mkdirs(src, masked);
      } catch(RemoteException re) {
        throw re.unwrapRemoteException(AccessControlException.class,
                                       NSQuotaExceededException.class,
                                       DSQuotaExceededException.class);
      }
    }
docs: Create a directory (or hierarchy of directories) with the given
  name and permission.
  
  @param src The path of the directory being created
  @param permission The permission of the directory being created.
  If permission == null, use {@link FsPermission#getDefault()}.
  @return True if the operation success.
  @see ClientProtocol#mkdirs(String, FsPermission)