Что означает код HRESULT 0x80042515 (VDS_E_EXTENT_EXCEEDS_DISK_FREE_SPACE)?

 
Предыдущий Следующий
VDS_E_PROVIDER_EXITING VDS_E_MEMBER_SIZE_INVALID

VDS_E_EXTENT_EXCEEDS_DISK_FREE_SPACE

VDS_E_EXTENT_EXCEEDS_DISK_FREE_SPACE относится к фактическому размещению экстента на диске. Экстент VDS — это непрерывный диапазон блоков с конкретным смещением и размером; суммарная незанятая ёмкость диска может быть больше запроса, но не иметь подходящей области.

IVdsDisk::QueryExtents возвращает текущую карту свободных и занятых диапазонов, а VDS_INPUT_DISK.ullSize задаёт, сколько байтов вызывающая сторона хочет получить с этого диска. Между перечислением и созданием тома карта могла измениться.

Что проверить

  • Сохраните ullSize, идентификатор диска и список свободных экстентов непосредственно перед неуспешным вызовом.
  • Сравнивайте размеры непрерывных свободных областей, а не только общий размер диска минус занятые байты.
  • Повторно запросите экстенты после Disk Management, DiskPart, кластерных операций или другого VDS-клиента, меняющего разметку.
  • Сохраните весь массив входных дисков: слишком большой запрос одного участника легко потерять при повторе с другой топологией.

VDS_DISK_EXTENT · IVdsDisk::QueryExtents · VDS_INPUT_DISK


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