Что означает код ошибки Windows 6844 (ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION)?

 
Предыдущий Следующий
ERROR_DATA_LOST_REPAIR ERROR_TM_IDENTITY_MISMATCH

ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION

Что означает ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION

ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION означает, что операция с разреженным файлом выполняется, пока файл участвует в активной TxF-транзакции. Это ограничение Transactional NTFS, а не общий признак отсутствия поддержки sparse files на томе.

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

  • Сохраните конкретный sparse FSCTL и transaction handle, с которыми открывался файл.
  • Проверьте, остаётся ли transacted file handle открытым в момент изменения sparse-разметки.
  • Сверьте сценарий с ограничениями TxF; повтор того же FSCTL внутри той же транзакции ограничения не снимает.

Как исправить

Если разреженная разметка действительно нужна, подготовьте её до начала TxF-транзакции или после её завершения. Не разрывайте атомарность транзакции скрытым повторным открытием файла вне неё без явного решения на уровне приложения.

Как подтвердить исправление

Sparse-операция и транзакционные изменения выполняются в допустимом порядке и больше не пересекаются на одном file handle.

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


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