Check out the new USENIX Web site. next up previous
Next: Comparison with other projects Up: Description of DMFS Previous: Functions

Metadata

 The DMFS layer keeps a small amount (80 bytes) of metadata for each vnode in the underlying file system. At present these data are kept in a flat file database indexed by vnode number which is stored on a separate file system. The metadata file contains a header which records the version number of the metadata file and of the nodes, their size, and the byte order in which they are stored. The metadata include:

flags

Flags indicating state of the DMFS node, including: metadata valid, file is archived, and file is (partially) non-resident.

generation number

The generation number of the current file using this vnode number.

archive size

The size of the file (including any non-resident portion).

byte barrier

How much of a non-resident file is present on the underlying file store. Reads of non-resident files which access only data that is present on the underlying file store are not blocked.

bfid

``Binary File IDentifier'' a 16-byte endian-independent tag assigned to the file which is intended to uniquely identify it. The dmfsd databases use this tag as the main index for the file.

atime and mtime

Access and modification time stamps (with nanosecond resolution) for the file. These times are not updated due to either archive or restore agent operation.

archive time and restore time

Time stamps (with second resolution) of last archive and restore events.
For files with valid metadata, the atime and mtime values above are reported in a VOP_GETATTR() operation, masking archive and restoration agent activity from view by users. When a file is flagged as non-resident, the archive size value is also reported in a VOP_GETATTR() operation. These elements together serve to preserve a more traditional user experience with files on the DMFS layer. The activities of the archive and restore agents are not noticeable by userland processes such as ls -l, find -amin, find -mtime, etc., other than as described in section 3.93.

The archive and restore time stamps are recorded to help the policy engine in the userland migration agent know more of a file's access history.


next up previous
Next: Comparison with other projects Up: Description of DMFS Previous: Functions
Bill Studenmund
2000-04-24