Что означает код errno 36 (ENAMETOOLONG)?

 
Также может означать:
КонстантаТипОС
ERROR_SHARING_BUFFER_EXCEEDEDОшибка WindowsWindows
KERN_NOT_DEPRESSEDКод возврата ядра macOSmacOS
ippStsNotSupportedCpuСтатус Intel IPPЛюбая
EINPROGRESSerrnomacOS
EIDRMerrnoSolaris
EDEADLKerrnoWindows
NTFS_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
ENOMSG EINPROGRESS

ENAMETOOLONG

Что означает ENAMETOOLONG в Linux

ENAMETOOLONG: Имя файла слишком длинное. Нужно определить, превышен лимит отдельного path component или полного пути после resolution; эти границы могут различаться.

В Linux учитывайте реальный тип filesystem и объект, к которому пришёл syscall: VFS, локальная FS и сетевой mount могут формировать одинаковое errno по разным причинам. Полезные технические маркеры из контекста этой ошибки: ENAMETOOLONG, PATH_MAX, *at(). Записывайте их фактические значения или режимы, а не только символическое имя errno.

Диагностика

  • Для удалённого filesystem сохраните mount identity и server-side событие вместе с локальным errno.
  • Проверьте ограничения representation и API до изменения самого файла; ошибка может быть вызвана типом, длиной или форматом метаданных.
  • Проверьте lifecycle descriptor/handle и момент close/rename/unlink, чтобы исключить race между проверкой и использованием.
  • Для Linux сопоставьте событие с process/thread, descriptor и точным syscall; после retry проверьте, не изменился ли объект под тем же числовым дескриптором.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.