Patent ID: 7743210

Claim:
A method for performing an atomic cross stripe write operation to a striped volume set, comprising: receiving, by a first volume striping module serving a first data stripe on a first volume, a write operation comprising write data directed to a data container; obtaining, by the first volume striping module, a range lock covering a range associated with the write operation; storing a persistent reminder; writing the received write data to the first data stripe of the first volume, wherein all the received write data does not fit on the first data stripe thereby leaving excess data, the excess data written to a sparse area of the first volume and stored in the sparse area until a second volume striping module returns an acknowledgment to the first volume striping module indicating that the excess data has been written to a second volume associated with the second volume striping module; upon completing writing the excess data to the sparse area: forwarding the excess data of the write data that does not fit on the first data stripe to the second volume striping module serving a second data stripe on the second volume; and writing, by the second volume striping module serving the second volume, the excess data to the second data stripe; wherein writing, by the second volume striping module serving the second volume, the excess data to the second data stripe comprises: determining by the volume striping module serving the second volume whether the excess data can be contained within the second data stripe; and performing, in response to determining that the set of excess data cannot be contained within the second data stripe, the atomic cross-stripe write operation; upon completion of writing the excess data to the second data stripe, returning the acknowledgement, by the second volume striping module, to the first volume striping module indicating that the excess data has been written to the second volume associated with the second volume striping module; removing, by the first volume striping module serving the first data stripe, the excess data from the sparse area of the first volume; and removing, by the first volume striping module, the range lock and the persistent reminder.