A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable and/or executable by a computer to cause the computer to perform a method comprising:
- suspending a parent/control thread of a data storage system;
- receiving, by the computer, a plurality of read requests, each read request having storage information associated therewith;
- adding, by the computer, read requests that are received while a parent/control thread is suspended, to a hash/list structure;
- analyzing, by the computer, the added read requests, wherein the analyzing includes sorting the read requests using the associated storage information;
- aggregating, by the computer, read requests requesting common data objects into a common read operation;
- stopping aggregation of the read requests requesting the common data objects into the common read operation in response to a determination that an amount of data unnecessarily read when retrieving data associated with the common read operation exceeds a predefined wasted space value;
- and
- dispatching, by the computer, the common read operation to a multi-threaded I/O layer of the data storage system for retrieving data associated with the read requests.