Что означает код HRESULT 0x80042574 (VDS_E_SHRINK_SIZE_TOO_BIG)?

 
Предыдущий Следующий
VDS_E_SHRINK_SIZE_LESS_THAN_MIN VDS_E_UNRECOVERABLE_PROVIDER_ERROR

VDS_E_SHRINK_SIZE_TOO_BIG

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

Уменьшите запрошенный объём с учётом актуальных данных о доступном для освобождения пространстве

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

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

IVdsVolume::Shrink · Подробное уменьшение · QueryMaxReclaimableBytes


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