Что означает код errno 66 (ENOTEMPTY)?

 
Также может означать:
КонстантаТипОС
ERROR_BAD_DEV_TYPEОшибка WindowsWindows
EREMOTEerrnoLinux
EREMOTEerrnoSolaris
ATDISK_DRIVER_INTERNALКод BSODWindows
Предыдущий Следующий
EREMOTE EREMOTE

ENOTEMPTY

Удаление заблокировано содержимым каталога

ENOTEMPTY обычно появляется, когда операция пытается удалить или заменить каталог, в котором ещё остаются записи. Это не свидетельствует о повреждении файловой системы. Оставшейся записью может быть обычное содержимое, скрытый элемент метаданных, объект, связанный с точкой монтирования, или результат параллельного создания, повторно наполняющего каталог между перечислением и удалением.

Рекурсивная очистка не должна трактовать этот errno как отказ в доступе. Следует перечислить содержимое каталога в момент ошибки, сохранить найденные имена и типы файлов и явно обрабатывать гонки. Повторное удаление без исследования записей способно скрыть всё ещё работающий источник новых файлов.

Проверки, различающие распространённые причины

  • Сразу после ошибки сохраните список каталога, включая скрытые файлы и типы объектов.
  • Проверьте, не создаёт ли записи параллельно другой поток, процесс, клиент синхронизации или установщик.
  • При развёртывании через переименование проверьте, должен ли целевой каталог быть пустым согласно правилам переименования файловой системы.

Ссылки


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