In preparation for developing a set of file system plug-in modules, this change set has been created which introduces an I/O functions vector which both flowop_library.c and fileset.c use to make file system calls. It creates a new header file, fsplug.h which defines the vector and macros for accessing it. It also creates a new module fb_localfs.c, which encapsulates routines to do the actual local file system calls, and to create a local file system call vector. The file descriptors have been generalized to be a union of an integer for local fs, and a pointer to void for other file systems, which need to save connection specific information for each open file.
The asynchronous write and wait flowops have also been moved to the file system specific modules. The existing pair have been moved to fb_localfs.c. A shared variable is used to specify which file system flowops and vector is to be loaded during initialization of filebench and its child processes. The goal is to make it easy for other file system clients, such as nfsv3, to be added to filebench. The will supply their own routines to implement the I/O functions, as well as custom asynchronous flowops. See it all at: http://cr.opensolaris.org/~dreww/localfs_plugin/ Drew _______________________________________________ perf-discuss mailing list [email protected]
