[PATCH] Cascaded VFS for HEAD [v0.1]

Alexander Bokovoy a.bokovoy at sam-solutions.net
Thu Apr 11 11:12:02 GMT 2002


Attached you'll find first part of cascaded VFS interface for Samba 3.0
which I'll present and discuss more deeply at SambaXP. 

Prime intention for this release is to provide other developers with
reference implementation for better testing and interface stabilisation.

I'll provide more documentation later, for beginning, look into
examples/VFS/ and source/include/vfs.h for comments.

What works:

	- module stacking;
	- VFS operation overloading with different levels of visibility
	  of underlying functions;
	- module initialization/shutdown tracking;
	- interface expansion with backward compatibility.

What does not work yet:

	- better vfs options handling
	- differentiation between transparency layers, currently all of
	  them are treated as 'transparent'.


	- Unchanged VFS API interface for smbd internals (primary consumer
	  of VFS modules): there is _no_need_ for rewritting any file
	  operation other than inside VFS modules.

	- Easy conversion path for older modules: only initialization
	  function is changed and finalization function is added per each
	  VFS module.

	- Better VFS module functionality tracking: each module now
	  describes precisely which functions it implements and which
	  behaviour these functions show (passthrough, logging, 
	  splitting, scanning [all are transparent operations], or
	  "FS" implementation [opaque operation]).

I've updated four example VFS modules (skel, audit, recycle, and block) to
new interface so that you can check its behaviour. Try different order of
modules and note the difference, for example, for audit and recycle.

Modules are specified in smb.conf using following syntax:

	vfs object = module1 module2 ... modulen

Modules are loaded from left to right, making 'modulen' the topmost of
stack and module1 at bottom, just above standard Samba POSIX VFS module
which is built in.

/ Alexander Bokovoy
Software architect and analyst             // SaM-Solutions Ltd.
Better dead than mellow.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba-3.0-cascaded-vfs.patch.bz2
Type: application/x-bzip2
Size: 9190 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20020411/7c4be643/samba-3.0-cascaded-vfs.patch.bin

More information about the samba-technical mailing list