The FSA Archiving Task execution log reports errors for every file or placeholder that has been affected by inconsistencies.
Engineering have released a stand-alone tool in the past that was able to repair or fix some conditions, however, after further considerations a different approach is being recommended to avoid situations where the actions may lead to data loss.
Before deciding what action should be taken to rectify the inconsistencies it is important to determine the exact state of the files or placeholders.
Let's look at a description of the relevant operations involved in archiving and recalling:
ARCHIVING
When FSA archives and converts a file to a Placeholder shortcut, a set of operations take place before the original file is replaced by a working stub. This stub can be used later to retrieve the original content from the Archive.
The process of converting a file to a Placeholder involves the following operations:
1- The main Content Stream, which represents the actual data, is removed from the file.
2- A Reparse Point hidden stream is created containing the unique identification parameters for that specific file. These parameters are used to locate the item within the Archive
3- The file is set as Sparse, if it is not already set with the Sparse flag. This allows the representation of the original file size.
4- The Offline attribute is set.
5- The Date & Time stamps are reset to the original values.
When the FSA Archiving Task is launched to process the same targets, in order to avoid re-archiving the same file, it checks if the file is a valid Placeholder and then each file is validated against the Archiving Policy Rules. If a file is found to be set with the Offline attribute, the validation also checks a few more parameters, including if the file has a Reparse Point. In this validation process, if the file is found to be a valid FSA Placeholder the Archiving Task skips the file.
RECALLING
The Placeholder shortcut can be recalled using different methods including by double-clicking, copying the shortcut to a different location, opening the file using the registered application, by means of other 3rd party products, and so on. When a Placeholder shortcut is recalled, the content is retrieved from the Archive and re-written over the placeholder. In cases where Pass-through recall is configured, the content is retrieved from the Archive and written over the Pass-through recall disk cache location.
The recall request involves the following operations:
1- The I/O operation is detected by NTFS.sys which reads the Reparse Point and identifies by the Reparse Tag that the EVMF driver should process the request.
2- EVMF takes the processing request and redirects to the FSA Placeholder Service.
3- The PHS reads the Reparse Point information and redirects the request to the EV WebApp.
4- W3WP on the EV server intercepts the request and engages StorageOnlineOPNS to locate the content in the Archive.
5- W3WP transfers the content retrieved from storage to the requesting PHS and the EVMF driver writes the content over the Placeholder
In order for the recall processing to be successful, the Placeholder must be set with all the parameters as set during the conversion.
If any 3rd party applications trigger unexpected recalls of the FSA Placeholders, the retrieval may lead to files left in an inconsistent state. This in turn can lead to errors during Archiving or issues recalling the content successfully.
The processing used in the conversion of a file to a Placeholder shortcut rely on standard methods available within the Windows Operating System framework and may also be set by other applications. Therefore utmost care should be taken when attempting to manipulate the state of a file that may have become inconsistent or corrupt.
The recommended approach is to generate a report of the contents of a folder structure with the corresponding parameters. This report can then be analyzed in view of determining if it is safe to manually reset the state of a file that may be in an inconsistent state or corrupt.
For this purpose, it is recommended to use PowerShell functions, which also allow the reporting of the relevant hidden streams and attributes.
Please contact Veritas Support for assistance.