Windows NTFS Conditions

  • ODX is supported through remote file servers if the remote share is an NTFS volume, and if the server is running Windows Server 2012 (assuming the remote stack also supports offload operations).
  • ODX does not need to be performed on files encrypted with Bitlocker or NTFS encryption (EFS), deduplicated files, compressed files, resident files, sparse files, or files participating in TxF transactions.
  • NTFS does not support offload FSCTLs under these conditions:
    • When performed on files encrypted with Bitlocker or NTFS encryption (EFS)
    • When performed on files within a volsnap snapshot
    • When performed on deduplicated files, compressed files, resident files, sparse files, or files participating in TxF transactions
    • If the desired file range is unaligned to the logical sector size on the source device, or if the desired file range is unaligned to the logical sector size on the destination device. This follows the same semantics as a non-cached IO.
    • If the destination file is not preallocated (SetEndOfFile and not SetAllocation) before FSCTL_OFFLOAD_WRITE
  • In processing offload read and offload write, NTFS first calls CcCoherencyFlushAndPurgeCache to commit any modified data in the system cache. This follows the same semantic as a non-cached IO.