Skip to main content
NetApp Knowledge Base

What is deswizzler or deswizzling

Last Updated:


Applies to

  • Data ONTAP 7
  • Data ONTAP 8 (7-mode and Clustered)
  • ONTAP 9


Note: Deswizzling, deswizzle, and deswizzler are used interchanglably in this article, but all refer to the same type of wafl scan.

  • On Data ONTAP 7-mode and ONTAP 9 DP style SnapMirror destination volumes, this scan maps aggregate (physical) block locations to the volume (logical) block location, as the transfer does not include the physical disk block location.
    • Example:
      • In physical house addresses, you have a "physical" location, like 123 N. Main St, and a "logical" location, like Sunnyvale, California.
      • These two properties are tied together with a postal code.
      • It is possible for the postal service to reference together the "physical" and "logical" address parts by the postal code.
    • Note: Volume move uses the type-DP SnapMirror engine, so the destination volume will have a deswizzler scan.
How does this affect performance?
  • Deswizzling scans are minimal overhead on CPU and disk singularly.
    • Multiple scans might cause CPU or disk contention, but this is rare.
    • If a block is read from a user/host and is swizzled (deswizzle scan has not updated this block yet), there is a slight read latency increase and extra overhead.
  • The read does a slow path.
    • In systems with SSDs this is minimal, but with HDDs, it may add a few milliseconds of latency per operation.
Why is there always a deswizzling scanner running?
  • If the volume is a Data ONTAP 7-mode SnapMirror or DP type SnapMirror destination, each completed transfer induces a new snapshot needing a scan.
    • Snapshots may be cleared out to let the scan run on the Active File System (AFS).
  • Deswizzling scans may never finish due to snapshot creation restarting the scanner with the most recent to least recent snapshot.
    • If you are in this situation, please schedule a window to stop all volume snapshots and SnapMirror type jobs.
  • For more information, see Deswizzler runs constantly on a SnapMirror Destination Volume.
Does deswizzler run against SnapMirror type-XDP relationship destination volumes?
  • No. Deswizzler does not run against SnapMirror type-XDP destination volumes in ONTAP 9 and later.
Can deswizzling be aborted?
  • No. This scan is essential for performance should a SnapMirror destination be needed as a Disaster Recovery site being activated.
Does deswizzling take place on offline volumes?
  • No, deswizzling can not run on an off line volume.
  • If a deswizzling operation is interupted by either the volume being brought offline or during a snapmirror update, the  deswizzler will restart at a checkpoint instead of restarting from the beginning when a block level update is completed in the middle of a deswizzling scan.
What if a deswizzler is running on a volume that is not a dedicated SnapMirror destination volume?
  • At some point in the volume's history, this volume was a SnapMirror destination, or a volume move destination.
    • This could go back many months or even years without observation.
    • As mentioned above, a window of no snapshots on this volume is needed to let the scan finish.
  • Another possibility is a cascade SnapMirror, where the middle node of a tertiary SnapMirror trio is the source for the end destination.
Can the deswizzling scan be disabled?
  • Yes. However, if any blocks are swizzled, there is a slow-path read penalty, which on HDD systems may add a few milliseconds of read latency.
  • The command is options wafl.deswizzle.enable off  at the node shell or 7-mode shell.
    • For example, here is an example from a ONTAP 9 system:

cluster_CLI::> node run -node node1 "options wafl.deswizzle.enable off"
cluster_CLI::> node run -node node1 "options wafl.deswizzle.enable"   

wafl.deswizzle.enable        off       

How do I check if deswizzler is running?

Administrators might check to see if the scanner is running with the wafl scan status command:

filer> priv set advanced
filer*> wafl scan status

cluster_CLI::> node run -node node_name "priv set advanced;wafl scan status"
Output example:

Volume volume1:
 Scan id                   Type of scan     progress
  226328    container block reclamation     block 1871 of 24095 (fbn 11220)
  226329             volume deswizzling     snap 157, inode 2144843 of 2172681. level 1 of normal files. Totals: Normal files: L1:10/4881 L2:0/11336 L3:0/5723 L4:0/0	Inode file: L0:0/0 L1:0/0 L2:0/0 L3:0/0 L4:0/0
Do I need to disable WAFL scanners before modifying swizzle scanners?
  •  In order to change the behavior of running deswizzling scanners all deswizzling scanners should be first terminated by setting the wafl.deswizzle.enable to off and waiting for all deswizzling scanners to exit
NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.