Methods, systems, and computer program products for preventing concurrent
execution of conflicting software operations on the same and different
storage processors while avoiding the deadlocks are disclosed. According
to one method, first and second instances of a first software utility for
respectively executing on the first and second storage processors having
access to a storage medium are provided. First and second instances of
the second software utility for respectively executing on the first and
second storage processors are also provided. A lock is provided to
instances of the first utility. The lock makes exclusive the operations
of checking for an activity query from instances of the second utility
and receiving a query from instances of the second utility. A first
operation implemented by the first utility may fail if the activity query
has been received when the checking occurs.