Knowledge Base
The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides

|
QueryChangedDiskAreas API call returns a FileFault error (2035976)
Symptoms
QueryChangedDiskAreas API call with a snapshot parameter, and with an offset of 0 and a changeId of *, the call returns a FileFault error similar to:2012-09-04T11:56:17.846+02:00 [03616 info 'Default' opID=52dc4afb] [VpxLRO] -- ERROR task-internal-4118 -- vm-26512 -- vim.VirtualMachine.queryChangedDiskAreas: vim.fault.FileFault:--> Result:--> (vim.fault.FileFault) {--> dynamicType = <unset>,--> faultCause = (vmodl.MethodFault) null,--> file = "/vmfs/volumes/4ff2b68a-8b657a8e-a151-3cd92b04ecdc/VM/VM.vmdk",--> msg = "Error caused by file /vmfs/volumes/4ff2b68a-8b657a8e-a151-3cd92b04ecdc/VM/VM.vmdk",--> }
Cause
QueryChangedAreaDisks on a CBT-enabled virtual machine which has been migrated to a different datastore. Occasionally, this issue has also been observed on CBT-enabled virtual machines which have not been migrated.Resolution
To work around this issue, disable then re-enable Changed Block Tracking (CBT) on the affected virtual machine:
- Remove any existing snapshots. For more information, see Understanding virtual machine snapshots in VMware ESXi and ESX (1015180).
- Disable CBT using the VI API or the Managed Object Browser (MOB):
- To disable CBT using the Managed Object Browser:
Note: For more information on using the Managed Object Browser, see Using the MOB to Explore the Object Model in the vSphere API/SDK Documentation.- Access the virtual machine in the MOB, and click on the
ReconfigVM_Taskmethod. - Modify the
VirtualMachineConfigSpecparameter to setchangeTrackingEnabledtofalse.
For example:<spec>
<changeTrackingEnabled>false</changeTrackingEnabled>
</spec>
- Access the virtual machine in the MOB, and click on the
- To disable CBT using the VI API:
- Use the
setChangeTrackingEnabledAPI call.
For example:VirtualMachineConfigSpec spec = vimPortType.getVMConfigSpec(vmMor);
spec = new VirtualMachineConfigSpec();
spec.setChangeTrackingEnabled(false);
boolean reconfiguration = vimPortType.reconfigVM(vmMor, spec);
- Use the
- To disable CBT using the Managed Object Browser:
- Enable CBT using the VI API or Managed Object Browser. Follow the process in step 2, but set the value to
true. - Take a snapshot of the virtual machine.
- Call
QueryChangedDiskAreaswith the current snapshot.
Additional Information
For related information, see Changed Block Tracking (CBT) on virtual machines (1020128).
See Also
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.
Actions
KB:
- Updated:
- Categories:
- Languages:
- Product Family:
- Product(s):
- Product Version(s):

