Что означает код errno 15 (ENOTBLK) в macOS?

 
Также может означать:
КонстантаТипОС
ERROR_INVALID_DRIVEОшибка WindowsWindows
KERN_INVALID_NAMEКод возврата ядра macOSmacOS
ippStsLSFLowAndHighСтатус Intel IPPЛюбая
ENOTBLKerrnoLinux
ENOTBLKerrnoSolaris
SPIN_LOCK_ALREADY_OWNEDКод BSODWindows
Предыдущий Следующий
ENOTBLK ENOTBLK

ENOTBLK

ENOTBLK в Darwin

В Darwin значение 15 (ENOTBLK) означает: интерфейсу, специфичному для Darwin, требуется блочное устройство. Операции требуется специальное блочное устройство, но переданный путь или vnode имеет другой тип файла.

Что зафиксировать

СведенияНа какой вопрос отвечают
Путь, режим stat, старший и младший номера устройства, точка монтирования, операция и идентификатор песочницы.Связывают требование блочного устройства с конкретным действующим объектом API, а не только с переведённым сообщением.
Darwin errno и версия SDK/XNU.Показывают, возникла ли ошибка в ABI вызывающей стороны, оболочке или поставщике.
Результат первого системного вызова или ioctl, а также процесс, поток и экземпляр объекта.Сохраняет errno до его перезаписи.
Контрольный объект той же сборки macOS.Даёт контрольное сравнение на той же платформе.

Контрольная проверка

  1. Сравните с настоящим блочным устройством, открытым с документированными привилегиями. Изменившийся errno после теста означает новую границу, а не другую формулировку исходной ошибки.
  2. Немедленно сохраните errno и сравните связанное возвращаемое значение. После контроля повторите исходную операцию, чтобы результат оставался относящимся к требованию блочного устройства.
  3. Повторите тест с одним контролируемым объектом, сохранив идентификатор и песочницу без изменений. Во время проверки не меняйте двоичный файл, ABI заголовков и поставщика.

Исправление

Проверяйте тип файла до операции и используйте интерфейс устройства, предназначенный для современной macOS.

Технические ссылки


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