[PATCH] Cascaded VFS for HEAD [v0.1]
Alexander Bokovoy
a.bokovoy at sam-solutions.net
Thu Apr 11 11:12:02 GMT 2002
Greetings!
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'.
Features:
- 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