1. A system comprising: a processor; a memory device having computer program instructions executed by the processor to perform operations, the operations comprising: providing a first virtual file system for storing archived data files; providing a second virtual file system for storing metadata files, wherein metadata for the archived data files in the first virtual file system resides in the metadata files in the second virtual file system, wherein each of the metadata files is associated with one of the archived data files, wherein each of the first and second virtual file systems comprise an abstraction layer between an application and a file system to provide an interface between a kernel of an operating system and the file system; providing an interface coupled to the first and second virtual file systems; detecting, by the interface, metadata file changes in the second virtual file system from changes to file attributes for the archived data files indicated in the metadata files; and providing, by the interface, changes in the metadata files to applications using the archived data files.