The GFS Shared File System assigns contiguous blocks to file data to take better advantage of batch I/O processing to improve the file system performance. The GFS Shared File System manages area on the extent-base for assigning contiguous blocks. For the range of blocks that can be acquired contiguously, the file system manages area assignment using a file offset, a start block number, and the number of blocks used.
The file system also takes into consideration the possibility of contiguous block assignment when extending the file.
Following picture shows a block assignment example that a file has three extents which locate 0, 64 megabytes, 96 megabytes file offset and 64 megabytes, 32 megabytes, 4 megabytes extent length respectively.
Empty file data areas are also managed in the extent base to implement high-speed assignment of optimum empty areas.