Using extents of indirect blocks for file mapping of large files
AssigneeEMC IP Holding Company LLC
InventorsSairam Veeraswamy, Peter C. Bixby, Peter W. Madany
Life of this patent
Estimating the term…
Loading patent…
AssigneeEMC IP Holding Company LLC
InventorsSairam Veeraswamy, Peter C. Bixby, Peter W. Madany
Estimating the term…
Large files in a file system are mapped by extents of contiguous indirect blocks in order to reduce the time for read or write access to the large files while allowing allocation of data blocks one at a time. The inode of a file includes an indication of whether file mapping metadata of the file includes either an extent of contiguous indirect blocks or a tree of blocks. In a preferred mapping scheme, an inode contains an array of block pointer entries, and each entry includes a flag indicating whether the block pointer is pointing to either an extent of indirect blocks or a tree of blocks. For sharing of data blocks between files, the block pointer fields of the indirect blocks each contain an ownership flag indicating whether the pointed-to block is shared or not.
A method of operating a file server, the file server having data storage storing a file system, a data processor coupled to the data storage for access to files in the file system, and non-transitory computer readable storage medium coupled to the data processor and storing computer instructions, each of the files having an inode containing file attributes including an indication of whether file mapping metadata of said each of the files includes either an extent of contiguous indirect blocks or a tree of blocks, so that some of the files in the file system are mapped by one or more extents of contiguous indirect blocks, and some of the files in the file system are mapped by one or more trees of blocks, and the computer instructions, when executed by the data processor, perform a write operation to write data to a specified offset in a logical extent of a specified file in the file system by the steps of:
A method of operating a file server, the file server having data storage storing a file system, a data processor coupled to the data storage for access to files in the file system, and non-transitory computer readable storage medium coupled to the data processor and storing computer instructions, some of the files in the file system having file mapping metadata including an extent of contiguous indirect blocks, and some of the files in the file system having file mapping metadata including a tree of blocks, and the computer instructions, when executed by the data processor, perform a write operation to write data to a specified offset in a logical extent of a production file in the file system while maintaining a snapshot copy of the production file by the steps of:
A file server comprising:
Dependencies are inferred from the claim text.