Patent ID: 8244935

Claim:
A computer readable storage medium comprising software instructions, which when executed by a processor, perform a method, the method comprising: receiving a first file system (FS) write request to store data in a storage pool; generating a first non-optional input/output (I/O) request corresponding to the first FS write request; placing the first non-optional I/O request in an I/O queue; receiving a second FS write request to store data in the storage pool; generating a second non-optional I/O request corresponding to the second FS write request; generating an optional I/O request corresponding to the second FS write request; placing the second non-optional I/O request and the optional I/O request in the I/O queue; obtaining the first non-optional I/O request from the I/O queue; making a first determination that the optional I/O request is adjacent to the first non-optional I/O request; after the first determination, making a second determination that the second non-optional I/O request is adjacent to the optional I/O request, wherein the first non-optional I/O request is not adjacent to the second non-optional I/O request; in response to the second determination: generating a new data payload using a first data payload from the first non-optional I/O request, a second data payload for the second non-optional I/O request, and a third data payload corresponding to the optional I/O request, wherein the third data payload is interposed between the first data payload and the second data payload; generating a new non-optional I/O request comprising the new data payload; and issuing the new non-optional I/O request to the storage pool, wherein the new data payload is written to a contiguous storage location in the storage pool.