Patent ID: 8069156
Filing Date: 2011-11-29
Classification: G06F

Abstract:
1. A computer readable medium comprising executable instructions for resilvering a hierarchical block tree in a storage pool by: determining that a birth time of a parent block of a branch of the hierarchical block tree is greater than or equal to a lowest birth time on a dirty time log (DTL); using a first checksum to determine that metadata stored in one of a plurality of child indirect blocks is not corrupted; selectively traversing the plurality of child indirect blocks in the branch to obtain a child data block, wherein each of the plurality of child indirect blocks comprises a block pointer to a referenced block, a checksum for data stored in the referenced block, and a birth time for the referenced block, wherein the birth time of each of the plurality of child indirect blocks is less than or equal to the birth time of the parent block; using a second checksum stored in the one of the plurality of child indirect blocks to determine that data stored in the child data block is not corrupted; and resilvering the child data block in the branch when the DTL comprises a birth time of the child data block, wherein the one of the plurality of child indirect blocks comprises the birth time of the child data block.