| Предыдущий | Следующий |
| ETXTBSY | ENOSPC |
EFBIG
Что означает эта ошибка
EFBIG означает, что операция попыталась увеличить файл сверх применимого ограничения. Им может быть максимальный размер файла в файловой системе, предел RLIMIT_FSIZE для процесса, диапазон используемого программой типа смещения либо ограничение конкретного API. Это не нехватка свободного места: блоки могут оставаться, но данному файлу больше нельзя расти.
В POSIX-системах запись за пределом ограничения размера файла может также вызвать SIGXFSZ. Даже если процесс игнорирует сигнал, неудачную или частичную запись нужно считать реальным отказом хранения; повтор той же операции не отменит действующий предел.
Как диагностировать и исправить
- Запишите целевое смещение, запрошенное число байтов, текущий размер файла и системный вызов, который завершился ошибкой.
- Сравните ограничение размера файла для процесса с ожидаемым объёмом, затем отдельно проверьте предел файловой системы или объектного хранилища.
- Для 32-разрядной сборки убедитесь, что используется ABI больших файлов и достаточно широкие типы смещений.
- Разбивайте вывод только тогда, когда это поддерживают формат файла и потребляющая программа; иначе исправляйте ограничение или архитектуру хранения.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.