A server computer connectable to a storage system and to a set of caching storage controllers, the storage system including storage devices that provide data storage organized into one or more logical volumes each consisting of consecutive blocks, the caching storage controllers being coupled to the storage system and to a storage network to which the server computer is also to be coupled, the caching storage controllers being co-operative in an active-active fashion to provide access to any of the blocks of the volumes from any of the caching storage controllers in response to storage commands received from the storage network, the caching storage controllers engaging in a distributed cache protocol according to which (a) each volume is divided into successive chunks each containing a predetermined number of contiguous blocks, and (b) either ownership of the chunks is dynamically transferred among the caching storage controllers in response to the storage commands, or storage commands sent to non-owning controllers are forwarded to owning controllers for processing, the server computer comprising: a processor, memory, and storage network interfaces coupled together by interconnect circuitry, the storage network interfaces being connected to the storage network; and software executable by the processor from the memory for directing storage commands to the caching storage controllers, including: maintaining a persistent association of the chunks of each volume with respective ones of the caching storage controllers; and for each storage request directed to a target chunk of the volume, identifying the caching storage controller associated with the target chunk, and generating a storage command and sending the storage command via the storage network to the identified caching storage controller, wherein the software includes one or more applications operative to generate the storage requests and a multipathing driver operative to perform the identifying and generating steps in response to each storage request generated by the applications, and wherein the server computer is operative to create the persistent association of the chunks of each volume with respective ones of the caching storage controllers at a time of initialization of the data processing system as well as during operation in response to an event which changes the availability of any of the caching storage controllers or respective paths by which the server computer sends the storage commands to the caching storage controllers. a processor, memory, and storage network interfaces coupled together by interconnect circuitry, the storage network interfaces being connected to the storage network; and software executable by the processor from the memory for directing storage commands to the caching storage controllers, including: maintaining a persistent association of the chunks of each volume with respective ones of the caching storage controllers; and for each storage request directed to a target chunk of the volume, identifying the caching storage controller associated with the target chunk, and generating a storage command and sending the storage command via the storage network to the identified caching storage controller, maintaining a persistent association of the chunks of each volume with respective ones of the caching storage controllers; and for each storage request directed to a target chunk of the volume, identifying the caching storage controller associated with the target chunk, and generating a storage command and sending the storage command via the storage network to the identified caching storage controller, wherein the software includes one or more applications operative to generate the storage requests and a multipathing driver operative to perform the identifying and generating steps in response to each storage request generated by the applications, and wherein the server computer is operative to create the persistent association of the chunks of each volume with respective ones of the caching storage controllers at a time of initialization of the data processing system as well as during operation in response to an event which changes the availability of any of the caching storage controllers or respective paths by which the server computer sends the storage commands to the caching storage controllers.