1. A method for operating a storage system on a server, comprising: initiating, at the server comprising a processor and a memory, a file system checking process with respect to a portion of a file system; accepting data access requests at the server during the file system checking process, wherein the data access requests are read or write requests; suspending, by the server, return of data access request results until the file system checking process has been performed with respect to the portion of the file system being checked, whereby the file system remains available for use during the file system checking process; determining the portion of the file system to be checked based on file system structures identified by the data access requests, wherein the portion of the file system to be checked is a directory or a file; determining whether the identified requested file system structure is a file inode or a directory inode; in response to determining the identified requested file system structure is the file inode, determining that a number of buffer trees in the file system associated with the file inode have valid pointers; in response to determining the identified requested file system structure is the directory inode, determining that a directory tree can be traversed from the directory associated with the directory inode upwards to a root directory; and in response to completing the file system checking process, returning the data access requests results.