QueryChangedDiskAreas API with changeId set to "*" throws FileFault error
search cancel

QueryChangedDiskAreas API with changeId set to "*" throws FileFault error

book

Article ID: 343616

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
When using QueryChangedDiskAreas with changeId set to "*" to gather information about snapshots, you see a FileFault error if changed block tracking (CBT) is enabled on the virtual machine with existing snapshots:

Cannot compute changes for disk /vmfs/volumes/4b42258a-3c6b0036-85af-0015c5f0ebb5/SUSE 11 64-bit_1/SUSE 11 64-bit_1-000001.vmdk: Unknown change epoch.
[2011-01-26 14:44:00.544 F5610B90 info 'Vmomi'] Throw vim.fault.FileFault.


Environment

VMware vSphere Web Services SDK 4.1
VMware ESX 4.1.x
VMware ESX 4.0.x
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Installable

Resolution

  1. This issue occurs when CBT is enabled on a virtual machine on which snapshots exist. Snapshots that exist before enabling CBT do not have changeId set and when the QueryChangedDiskAreas API is invoked, it returns a filefault error when it has to return the changeId.
To workaround this issue, enable CBT on a virtual machine that does not have snapshots. When you create a snapshot, disk changes are tracked as CBT is already enabled on the virtual machine.
  1. Create a virtual machine without snapshots.
  2. Activate CBT. For more information, see Changed Block Tracking (CBT) on virtual machines (1020128).
  3. Create a snapshot.
  4. Call queryChangedDiskAreas with changeId set to "*".