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]

Reply via email to