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.

Attachment: samba-3.0-cascaded-vfs.patch.bz2
Description: BZip2 compressed data

Reply via email to