Warning prefetch messages on Steelfusion Core after HA fail back

Categories: SteelFusion Core
Solution Number: S32880

Issue

Prefetch may log warning messages for UNMAPPED payload blocks in vhdx (Hyper-V virtual hard disk)  during optimisation. Per the Vhdx specification document, a payload block ( read it as ‘data block’ ) can be in one of the following states – FULLY PRESENT, PARTIALLY PRESENT, NOT PRESENT, UNDEFINED, ZERO , UNMAPPED.
 
In Steelfusion vhdx prefetch stack, all the FULLY PRESENT & PARTIALLY PRESENT states are translated to valid blocks.
 
For UNDEFINED, ZERO, UNMAPPED, NOT PRESENT states, the spec mentions that reads to those blocks shall return zero data/ arbitrary data. Since there is no benefit in prefetching zero/arbitrary blocks from core to edge, pfstack in steelfusion core is expected to log translation failures for RAH on such blocks.
NtfsCrawler module in prefetch stack attempt to do these translations and log a ERR message whenever there is a failure.
 
Prefetch stack may attempt to read the blocks in these states in following scenarios:
  1. RAH technique on a thin provisioned vhdx.
  2. A block is allocated, but corresponding writes are not committed yet to core. Prefetch stack crawls vhdx only once for the first read after LUN is made online. Block states read during crawl are maintained in-mem. Recrawl is not triggered for every write on vhdx because, it is IO and compute intensive.
  3. A block is actually in one of these states, prefetch stack may attempt to read as part of RAH techniques.

Solution

There is no functional impact because of these log messages and these are expected in some scenarios as described above.

Environment

Steelfusion 6.0. VM hosted on HyperV with at least vhdx disk attached to it.
NOTICE: Riverbed® product names have changed. Please refer to the Product List for a complete list of product names.
Last Modified: 2018-12-14
Can't find an answer? Create a case