Patent ID: 8793223

Claim:
A machine-implemented method comprising: detecting an error in a file system of a network storage server while the network storage server remains available for servicing client requests; identifying a potential change to the file system for resolving the error, while the network storage server remains available for servicing client requests; generating a plurality of modified data blocks representing the potential change, the plurality of data blocks corresponding to a plurality of existing data blocks; temporarily storing each of the modified data blocks in a memory; writing the modified data blocks to a change log file located outside the file system bypassing automatic writing of data for resolving the error to a persistent storage facility of the network storage server and preserving a consistent image of the file system, wherein said writing includes writing the modified data blocks in a sequential order to logical blocks of the change log file, and for each of the modified data blocks, storing a key-value pair for the modified data block in a secondary data structure, wherein in each key value pair the key is a RAID-level physical block pointer for the corresponding modified data block and the value is a logical file block pointer representing a logical position of the modified data block within the change log file; outputting via a user interface an indication of the potential change; enabling user input via the user interface to accept the potential change; receiving a user input specifying that the potential change is accepted; and in response to receiving the user input specifying that the potential change is accepted, committing the change to the file system by: reading the modified data blocks from the change log file in the order in which the modified data blocks were written to the change log file, and writing the modified data blocks to a persistent storage facility of the storage server in the order in which the modified data blocks were read from the change log file.