A computer program product for ensuring system configuration data structure coherency across multiple controllers in a data storage system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
- a semaphore locking program module for synchronizing modifications by a first controller to its respective system configuration data structure, and for synchronizing modifications by other controllers to their respective system configuration data structures, the program module including instructions for:
- detecting, by a first controller, a change in the system configuration of the data storage system;
- reserving, by the first controller, a predetermined device, such that the predetermined device once reserved cannot be reserved by any other controller;
- modifying, by the first controller, its respective system configuration data structure to include the change;
- notifying, by the first controller, at least one other controller of the change;
- and,
- in response to the notifying, updating, by the at least one other controller, its respective system configuration data structure to include the change, the updates to each respective controller's system configuration data structure being synchronized such that each respective system configuration data structure accurately represents any change to the system configuration of the data storage system.