Method for implementing persistent file pre-allocation
First Claim
Patent Images
1. A computer implemented method for persistent pre-allocation of data blocks comprising:
- maintaining a first i-node for a file to manage file operations on a file server, said first i-node having initialized blocks;
associating said first i-node with a second i-node, including creating said second i-node for said file, establishing a relationship between primary and secondary nodes for the file, and allocating pre-allocated blocks into the second i-node; and
using a processor for transferring corresponding blocks from said second i-node to said first i-node responsive to a write operation requiring non-initialized blocks in a pre-allocated range of blocks, wherein said block transfer includes a contiguous block allocation for said file.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for pre-allocating non-initialized blocks of data in a file system. Each file contains a primary i-node to maintain file metadata. A secondary i-node is created and associated with the primary i-node. The secondary i-node contains non-initialized data blocks, and the primary i-node contains valid and initialized data blocks. A write operation to a non-initialized data block in a pre-allocated range stored in the secondary i-node directs the data block from the secondary i-node to the primary i-node.
10 Citations
19 Claims
-
1. A computer implemented method for persistent pre-allocation of data blocks comprising:
-
maintaining a first i-node for a file to manage file operations on a file server, said first i-node having initialized blocks; associating said first i-node with a second i-node, including creating said second i-node for said file, establishing a relationship between primary and secondary nodes for the file, and allocating pre-allocated blocks into the second i-node; and using a processor for transferring corresponding blocks from said second i-node to said first i-node responsive to a write operation requiring non-initialized blocks in a pre-allocated range of blocks, wherein said block transfer includes a contiguous block allocation for said file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
a processor in communication with memory; a file system to log metadata; a file having a first i-node in the file system to manage file operations, said first i-node having initialized blocks; an allocation manager in the file system to associate the first i-node with a second i-node, including creation of the second i-node for the file, to establish a relationship between first and second i-nodes for the file, and allocation of pre-allocated blocks in the second i-node, and said allocation manager to direct transfer of blocks from said second i-node to said first i-node in response to a requirement for non-initialized blocks in a pre-allocated range of blocks present on said second i-node in a write operation, wherein said block transfer includes a contiguous block allocation for said file. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An article comprising:
a tangible computer readable data storage media including computer program instructions configured to pre-allocate data blocks to a file in conjunction with a first i-node to manage file operations and a second i-node having pre-allocated non-initialized blocks, comprising; instructions to associate said first i-node with said second i-node through a mapping technique; and instructions to transfer corresponding blocks from said second i-node to said first i-node in response to a write operation requiring non-initialized blocks in a pre-allocated range of blocks absent from said first i-node, wherein said block transfer includes a series of blocks having a continuous connection. - View Dependent Claims (14, 15, 16, 17, 18)
-
19. A computer implemented method for persistent pre-allocation of data blocks comprising:
-
maintaining a primary i-node for a file to manage file operations on a file server, said primary i-node having a contiguous set of mapped data blocks; for said file backing said primary i-node with a first level secondary i-node for mapping initialized data blocks in a pre-allocated range; backing said first level secondary i-node with a second level secondary i-node for mapping pre-allocated non-initialized data blocks; associating said primary i-node with said first level secondary i-node, and associated said first level secondary i-node with said second level secondary i-node through a mapping technique; and using a processor transferring corresponding data blocks from said second level secondary i-node to said first level secondary i-node, and transferring a contiguous set of initialized pre-allocated data blocks from said first level secondary i-node to said primary i-node responsive to a write operation.
-
Specification