Patent ID: 8516022

Claim:
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, wherein the computer instructions, when executed by the data processor, automatically protect the files from modification upon expiration of a certain period of time and commit the files to a write-once-read-many (WORM) committed state by the steps of: (a) placing file identifiers of the files on a list of file identifiers; (b) in response to a request from a client to modify a first file, checking whether or not the first file has been modified for the certain period of time, and in response to finding that the first file has not been modified for the certain period of time, denying the request from the client to modify the first file; and (c) periodically scanning the list of file identifiers, and upon finding a file identifier of a second file on the list of file identifiers, checking whether or not the second file has been modified for the certain period of time, and in response to finding that the second file has not been modified for the certain period of time, committing the second file to the WORM committed state; wherein the list of file identifiers includes entries for storing the file identifiers, and each entry stores multiple file identifiers, and each entry has a minimum modification time attribute indicating a minimum value of modification time attributes of the files identified by the file identifiers stored in said each entry, and the step (c) of periodically scanning the list of file identifiers includes skipping over the file identifiers in said each entry when the minimum modification time attribute of said each entry indicates that none of the files indicated by the file identifiers stored in said each entry has not been modified for more than a certain interval of time.