Atomic Test And Set Of Disk Block Returned False For Equality Access
Check kernel logs (dmesg), system logs (/var/log/messages), and application logs:
grep -i "atomic test and set" /var/log/messages
dmesg | grep -i "compare.*write\|reservation"
journalctl -xe | grep "false for equality"
Clustered file systems like OCFS2, GFS2, or VMFS use disk-based locks. When a node tries to acquire a lock on a block range, it performs a TAS. If another node holds the lock, the TAS returns false. The error message usually appears in kernel logs or cluster daemon logs when there is a lock conflict timeout or a stale lock detection issue.
Example log (from a real cluster):
dlm: atomic test and set of disk block 1048576 returned false for equality (expected=0, got=1002)
dlm: lock acquisition failed. Node 1002 already owns the lock.
Some storage engines store their replicated log as disk blocks. A leader might try to append a new log entry by performing a TAS on the next available log index block. If a follower (now acting as leader) has already written there, the TAS fails with this error.
A return value of false indicates that the atomic condition was not met. Check kernel logs ( dmesg ), system logs
Scenario: A node caches disk block values but fails to invalidate the cache after a write from another node.
Result: The node issues a test-and-set based on stale data, causing an unexpected failure.
Solution: Disable aggressive caching for shared block devices; use O_DIRECT or O_SYNC where appropriate.
A return of false is a safe failure. It guarantees that the caller did not proceed under the assumption that they had exclusive access. This preserves data integrity. If the operation had erroneously returned true while another process held the lock, a race condition would occur, leading to data corruption on the disk block. Clustered file systems like OCFS2, GFS2, or VMFS
Many "false for equality" errors stem from firmware bugs in:
Check vendor release notes for terms like "COMPARE AND WRITE," "atomic," or "reservation." Some storage engines store their replicated log as