Patent ID: 9542401
Date: 2017-01-10
CPC Classifications: G06F

Claim:
1. 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) reading the inode of the specified file to obtain an indication of whether the file is mapped at the specified offset by either an extent of contiguous indirect blocks or a tree of blocks, and (b) using the indication of whether the file is mapped at the specified offset by either an extent of contiguous indirect blocks or a tree of blocks to obtain, from the file mapping metadata, a pointer to a data block for containing data at the specified offset of the specified file, and (c) using the pointer to write data to the data block for containing data at the specified offset in the logical extent of the specified file.