Method and system for object allocation using fill counts
First Claim
Patent Images
1. A method for allocating a root block in file system metadata, comprising:
- traversing the file system metadata to locate a non-filled leaf block,wherein the non-filled leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated,wherein the file system metadata comprises a plurality of meta indirect blocks,wherein a first meta indirect block of the plurality of meta indirect blocks comprises a pointer to the non-filled leaf block and a first fill count associated with the non-filled leaf block,wherein the first fill count corresponds to a number of allocated root blocks in the non-filled leaf block, andwherein locating the non-filled leaf block comprises determining that the first fill count is less than a maximum fill count;
traversing the non-filled leaf block to locate an unallocated root block of the plurality of root blocks; and
allocating the unallocated root block to obtain an allocated root block;
wherein a second meta indirect block of the plurality of meta indirect blocks comprises pointers to the first meta indirect block and a third meta indirect block of the plurality of meta indirect blocks,wherein the second meta indirect block further comprises a second fill count,wherein the third meta indirect block comprises a third fill count, andwherein the second fill count is a sum of the first fill count and the third fill count.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for locating a root block in file system metadata, includes traversing the file system metadata to locate a leaf block, wherein the leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated, allocating the at least of one the plurality of unallocated root blocks to obtain an allocated root block, wherein the leaf block is associated with a fill count and the fill count is less than a maximum fill count of the leaf block.
49 Citations
15 Claims
-
1. A method for allocating a root block in file system metadata, comprising:
-
traversing the file system metadata to locate a non-filled leaf block, wherein the non-filled leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated, wherein the file system metadata comprises a plurality of meta indirect blocks, wherein a first meta indirect block of the plurality of meta indirect blocks comprises a pointer to the non-filled leaf block and a first fill count associated with the non-filled leaf block, wherein the first fill count corresponds to a number of allocated root blocks in the non-filled leaf block, and wherein locating the non-filled leaf block comprises determining that the first fill count is less than a maximum fill count; traversing the non-filled leaf block to locate an unallocated root block of the plurality of root blocks; and allocating the unallocated root block to obtain an allocated root block; wherein a second meta indirect block of the plurality of meta indirect blocks comprises pointers to the first meta indirect block and a third meta indirect block of the plurality of meta indirect blocks, wherein the second meta indirect block further comprises a second fill count, wherein the third meta indirect block comprises a third fill count, and wherein the second fill count is a sum of the first fill count and the third fill count. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a data processor; a storage pool comprising; a non-filled leaf block, wherein the leaf block comprises a plurality of root blocks and at least one of the plurality of root blocks is unallocated, and file system metadata comprising a plurality of meta indirect blocks, wherein a first meta indirect block of the plurality of meta indirect blocks comprises a pointer to the non-filled leaf block and a first fill count associated with the non-filled leaf block, wherein the first fill count corresponds to a number of allocated root blocks in the non-filled leaf block; the data processor configured with instructions for a file system configured to; traverse the file system metadata to locate the non-filled leaf block, wherein locating the non-filled leaf block comprises determining that the first fill count is less than a maximum fill count, traverse the non-filled leaf block to locate an unallocated root block of the plurality of root blocks, and allocate the unallocated root block to obtain an allocated root block; update the first fill count after allocating the unallocated block; and wherein the first fill count is a non-negative integer. - View Dependent Claims (14, 15)
-
-
10. The system of 9, wherein the allocated root block references a hierarchical tree corresponding to a file.
-
11. The system of 10, wherein the hierarchical tree comprises a data block and an indirect block, wherein the indirect block directly references the data block, and wherein the allocated root block indirectly references the indirect block.
-
12. The system of 9, wherein the file system metadata is organized in a hierarchical tree.
-
13. The system of 9, wherein the maximum fill count is less than 25 percent of the plurality of the root blocks.
Specification