Next: Comparison with other projects
Up: Description of DMFS
Previous: Functions
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: Comparison with other projects
Up: Description of DMFS
Previous: Functions
Bill Studenmund
2000-04-24