Method and system for storing a sparse file using fill counts
First Claim
1. A computer readable medium comprising instructions, which when executed by a processor perform a method for storing a first block and a second block, the method comprising:
- storing the first block and the second block in a storage pool;
storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count,wherein, if the first block is an indirect block, the first fill count corresponds to one selected from a group consisting of a number of data blocks directly referenced by the first block, and a number of data blocks indirectly referenced by the first block,wherein the first fill count is one if the first block is a data block; and
storing a fourth block in the storage pool, wherein the fourth block references the third block and comprises a third fill count, wherein the third fill count comprises the sum of the first fill count and the second fill count.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for storing a first block and a second block, the includes storing the first block and the second block in a storage pool, and storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count, wherein the first fill count corresponds to one selected from the group consisting of a number of data blocks directly referenced by the first block, a number of data blocks indirectly referenced by the first block, if the first block is an indirect block, wherein the first fill count is one if the first block is a data block.
-
Citations
7 Claims
-
1. A computer readable medium comprising instructions, which when executed by a processor perform a method for storing a first block and a second block, the method comprising:
-
storing the first block and the second block in a storage pool; storing a third block in the storage pool, wherein the third block references the first block and second block and comprises a first fill count and a second fill count, wherein, if the first block is an indirect block, the first fill count corresponds to one selected from a group consisting of a number of data blocks directly referenced by the first block, and a number of data blocks indirectly referenced by the first block, wherein the first fill count is one if the first block is a data block; and storing a fourth block in the storage pool, wherein the fourth block references the third block and comprises a third fill count, wherein the third fill count comprises the sum of the first fill count and the second fill count. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
a storage pool comprising; a first block and a second block, and a third block referencing the first block and second block and comprising a first fill count and a second fill count, wherein the first fill count is associated with the first block and the second fill count is associated with the second block, a fourth block referencing the third block and comprising a third fill count, wherein the third fill count comprises the sum of the first fill count and the second fill count; and a storage pool allocator configured to store the first block, the second block, and the third block in the storage pool wherein, if the first block is an indirect block, the first fill count corresponds to one selected from a group consisting of a number of data blocks directly referenced by the first block, and a number of data blocks indirectly referenced by the first block, wherein the first fill count is one if the first block is a data block. - View Dependent Claims (5, 6, 7)
-
Specification