Patent ID: 7424574

Claim:
A method for dynamic striping, comprising: receiving a request to write a file into a storage pool, wherein the file comprises a first data block, a second data block, and a first indirect block; determining a physical disk location in the storage pool to store the first data block using a first dynamic striping policy, wherein the first dynamic striping policy comprises one selected from a group consisting of a dynamic striping policy based on physical disk speed, a dynamic striping policy based on free space available on physical disks, a dynamic striping policy based on load on physical disks, and a round robin policy; storing the first data block using the first dynamic striping policy at the physical disk location in the storage pool; storing the second data block in the storage pool using the first dynamic striping policy; selecting a second dynamic striping policy, wherein the second dynamic striping policy comprises one selected from the group consisting of the dynamic striping policy based on physical disk speed, the dynamic striping policy based on free space available on physical disks, the dynamic striping policy based on load on physical disks, and the round robin policy, and wherein the first dynamic striping policy is distinct from the second dynamic striping policy; and storing the first indirect block using the second dynamic stripping policy, wherein the indirect block includes a first block pointer referencing the first data block and a second block pointer referencing the second data block.