Patent ID: 8635190

Claim:
A computer readable medium comprising executable instructions for resilvering a hierarchical block tree in a storage pool by: selectively traversing a branch of the hierarchical block tree when a birth time of a parent block of the branch is greater than or equal to a lowest birth time on a dirty time log (DTL), wherein the DTL is configured to: track when one or more I/O requests are not successfully completed, and store birth times for the one or more I/O requests that are not successfully completed, wherein the stored birth times are equivalent to birth times that would have been associated with a successful write to disk; and resilvering a child block of a plurality of child blocks in the branch when the DTL comprises a birth time of the child block, wherein a birth time of each child block of the plurality of child blocks is less than or equal to the birth time of the parent block, wherein the parent block comprises the birth time of the child block, and wherein the DTL is updated only once when more than one I/O request for the child block and the parent block fail at a same birth time.