Что означает код NTSTATUS 0xC0190049 (STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION)?

 
Предыдущий Следующий
STATUS_NO_SAVEPOINT_WITH_OPEN_FILES STATUS_TM_IDENTITY_MISMATCH

STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION

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

STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION означает, что изменение sparse-состояния файла запрещено, пока файл участвует в активной TxF-транзакции.

Практический смысл и диагностика

Определите transacted handle и операцию, которая пытается пометить файл sparse либо изменить его разрежённое размещение.

  • Проверьте фоновые compression/dedup/optimization jobs: они могут косвенно менять allocation state одновременно с installer или updater, использующим TxF.
  • Сохраните последовательность mark-sparse/set-zero-data, commit/rollback и закрытия handles для одной и той же file identity.
  • Изменяйте sparse-состояние только после завершения транзакции и закрытия transacted handles.
  • Для нового кода учитывайте, что Transactional NTFS устарел; лучше проектировать явную последовательность атомарных операций без зависимости от TxF.

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


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