Check out the new USENIX Web site. next up previous
Next: Reconstruction Environment Up: Reconstruction Previous: Reconstruction

   
The Reconstruction Extension

The MBFS open() call in the kernel, category, and filename matching interfaces optionally support a reconstruction parameter defined by the following structure:

typedef struct {
    char *reconstruction_rule;
    envp *environment[];
    int   num_dependencies;
    char *dependencies[];
    int   data_freshness;
    Bool  reconstruct_immediately;
} mbfs_reconstruction;

reconstruction_rule:
A string containing the command-line that the system should execute to reconstruct the file.
environment:
An array of environment variables and values to be set in the shell before invocation of this file's reconstruction rule. If NULL, the current environment in assumed.
data_freshness:
Specifies how ``up-to-date'' the contents should be with respect to it's dependencies:
reconstruct_immediately:
A boolean specifying when the system should execute the file's reconstruction rule.
num_dependencies:
The number of entries in the dependency array.
dependencies:
An array of entries corresponding to the MBFS files on which the given file is dependent.

With the inclusion of dependencies and the LATEST_DATA freshness quality, the reconstruction extension naturally provides an automatic form of the Unix ``make'' utility and provides a form of intensional files. While an automatic ``make'' is useful in some circumstances, users may still invoke the standard make utility manually.


next up previous
Next: Reconstruction Environment Up: Reconstruction Previous: Reconstruction
Todd Anderson
1999-04-26