Atomic Test And - Set Of Disk Block Returned False For Equality
Because the comparison failed, the storage array refuses to perform the "Set" (write) operation. This is a safety mechanism to prevent data corruption when multiple hosts are competing for the same resource. Common Causes
When a log file displays "Atomic test and set of disk block returned false for equality," it means the phase failed.
If the data does not match, the array returns an status, which the hypervisor surfaces as "Atomic test and set of disk block returned false for equality" . 2. Root Causes of the Error
A process issues test-and-set without holding a prior persistent reservation. Result: The storage target rejects the command. Solution: Ensure the initiator has an active, registered reservation key before issuing atomic updates. Because the comparison failed, the storage array refuses
Indicates an overloaded storage controller, network fabric issue, or global firmware bug. Step 2: Check for Storage Controller Firmware Updates
Isolate the frequency and source of the error. Log into your host via SSH or check your centralized logging platform. Search for the specific VAAI compliance errors. grep -i "atomic test and set" /var/log/vmkernel.log Use code with caution.
All these steps happen as one, indivisible unit. If the returned value is false (or 0), it means the lock was free, and the current process now holds it. If it’s true (or 1), the lock was already taken, and the process must wait. If the data does not match, the array
"Atomic test and set of disk block returned false for equality" is a low-level status message typically found in VMware ESXi VMkernel logs It indicates a failure in the Atomic Test and Set (ATS) , which is part of the vStorage APIs for Array Integration (VAAI) Core Concept: What is ATS?
Firmware bugs or misconfigurations on the storage array can lead to incorrect reporting of block states.
An atomic operation is an operation that runs to completion without the possibility of interruption. No other process or thread can interfere with its execution. This property is crucial for maintaining data integrity in concurrent environments. The classic example is the test_and_set instruction, which is the basis for many low-level lock implementations. Result: The storage target rejects the command
: This is often the first step to clear stale locks and restore temporary connectivity to the datastore. Validate Data Path Compatibility
ATS is a storage hardware acceleration feature (part of VAAI) used by ESXi to lock individual disk blocks rather than an entire LUN.
This error commonly causes cluster-wide degradation, failing virtual machine operations (such as powering on/off, provisioning, or vMotion), and localized storage lockouts. Understanding why this happens requires looking at how modern hypervisors interact with Storage Area Networks (SANs). 1. The Core Architecture: Understanding VAAI and ATS
For Pacemaker/Corosync:
If (Current Disk State)==Expected State→Write New State (Returns True)If (Current Disk State) equals equals Expected State right arrow Write New State (Returns True)