| Предыдущий | Следующий |
| ENOLCK | EMSGSIZE |
ELOOP
Что означает ELOOP в Linux
ELOOP означает «Обнаружено слишком много символических ссылок». Для условия «Обнаружено слишком много символических ссылок» код ELOOP нужно связывать с первым возвратившим его вызовом и контекстом: путь, дескриптор, тип объекта, права и состояние файловой системы.
После отказа, соответствующего «Обнаружено слишком много символических ссылок», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для ELOOP исходная английская страница также выделяет open, O_NOFOLLOW и path_resolution; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Обнаружено слишком много символических ссылок» (Linux,
ELOOP) проверьте каждый компонент пути, фактический root/namespace, владельца, mode, ACL и параметры монтирования. - При ошибке «Обнаружено слишком много символических ссылок» (Linux,
ELOOP) установите, относится ли отказ к конечному объекту, родительскому каталогу, дескриптору или промежуточной ссылке. - При ошибке «Обнаружено слишком много символических ссылок» (Linux,
ELOOP) запишите flags и mode исходного вызова: open, create, rename и unlink проверяют разные условия. - При ошибке «Обнаружено слишком много символических ссылок» (Linux,
ELOOP) не выдавайте широкие права до определения конкретной недостающей возможности.
На платформе Linux исправление ELOOP считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Обнаружено слишком много символических ссылок» без утечки ресурсов и потери первичной диагностики.
Ссылки для ELOOP
Нужно найти другой код? Найти другой код состояния или ошибки.