摘要 |
A method for detecting and correcting cross-linked files while accessing data on a storage media. Each file includes control file information that defines a plurality of blocks on storage media allocated to the file. When a program identifies a volume of storage media that may include cross-linked files, the program intercepts requests to access a file on the storage device. The program then reads the control information for the file and identifies the blocks allocated to the file. The program compares the allocation to a free space map, identifying allocated and unallocated blocks on the storage media, and corrects any inconsistency between the free space map and the control information. The program also maintains a secondary map, which identifies the blocks on the storage media allocated to the files that have been previously been examined. If the program determines, based on the secondary map, a block on the storage media is allocated to at least a first file and a second file, the program modifies the allocation of the first file so that it does not reference a block allocated to the second file. The program is capable of correcting and detecting cross-linked files while the storage media is accessed by other programs such as applications.
|