docs: def generate_fileattr_metadata(local_path, metadata):
      # type: (blobxfer.models.upload.LocalPath, dict) -> dict
      """Generate file attribute metadata dict
      :param blobxfer.models.upload.LocalPath local_path: local path
      :param dict metadata: existing metadata dict
      :rtype: dict
      :return: merged metadata dictionary
      """
      if blobxfer.util.on_windows():
          global _FILEATTR_WARNED_ON_WINDOWS
          if not _FILEATTR_WARNED_ON_WINDOWS:
              _FILEATTR_WARNED_ON_WINDOWS = True
              logger.warning(
                  'file attributes store/restore on Windows is not '
                  'supported yet')
          return None
      else:
          md = {
              _JSON_KEY_FILE_ATTRIBUTES: {
                  _JSON_KEY_FILE_ATTRIBUTES_POSIX: {
                      _JSON_KEY_FILE_ATTRIBUTES_MODE: local_path.mode,
                      _JSON_KEY_FILE_ATTRIBUTES_UID: local_path.uid,
                      _JSON_KEY_FILE_ATTRIBUTES_GID: local_path.gid,
                  }
              }
          }
          return blobxfer.util.merge_dict(metadata, md)