An integrity verifier and validator is provided in which an initial
anti-virus scan is performed against an entire file system to verify the
integrity of the file system and create a corresponding file system level
integrity verification database of known scanned regions of the file
system. The database contains a copy of the file system's partition table
referencing the range of occupied inodes and directory blocks. When new
or updated content is written to the file system the integrity of the
corresponding occupied inodes and directory blocks is no longer assured,
and the integrity verifier flags them on the database for rescanning.
Subsequent attempts to rescan any portion of the file system triggers the
integrity validator to scan the database to validate whether that portion
of the file system falls within any of the occupied inodes or directory
blocks that have been flagged for rescanning. If they are not flagged,
then rescanning of that portion of the file system is unnecessary as the
integrity of at least that portion is assured. However, if they are
flagged, then the anti-virus software rescans that portion of the file
system for the presence of viruses.