Patent ID: 7577692

Claim:
A method for writing data by a file server to a disk, comprising: requesting the file server to execute a write command to perform a write operation to a file stored on the disk in response to a request issued by a client on a remote computer, the remote computer connected to the file server by a computer network, the file part of a file system, the disk having a space allocated for the file system, and the disk having a free space; if the write operation is to write the data into a portion of the persistent storage device already allocated to the computer file system but the portion is not used, then permitting the write operation; if the write operation is to overwrite a block already written to, permitting the write operation; if the file system is a sparse file system, keeping a reserve space for filling holes in the sparse file system, and if the write operation is to a hole in the sparse file system and there is enough space in the reserve for the write operation, permitting the write operation, if there is not enough space for the write operation in the reserve, allocating from the free space, and permitting the write operation; determining if the write operation is to produce a Persistent Consistency Point Image in time (PCPI); if the write operation is to create a PCPI, then determining if there is enough allocated space to write the PCPI to the disk, if there is enough allocated space to write the PCPI, permitting the write operation, and if there is not enough allocated space to write the PCPI, allocating from the free space, and permitting the write operation; if the write operation is not to create a PCPI, then, if the write operation will not fill up the allocated space, permitting the write operation, if the write operation will fill up the allocated space, allocating from the free space, and permitting the write operation; in the event that there is not enough free space to allocate space for the write operation, rejecting the write operation.