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

David Lee t.d.lee at durham.ac.uk
Fri Apr 12 09:50:02 GMT 2002


On Thu, 11 Apr 2002, Alexander Bokovoy wrote:

> 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.

This all sounds most promising.  Thanks for your work on this.


> 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.

Can you clarify about order please?

If I'm configuring a Samba server for our users, I envisage a data path
starting at their PC/client and ending at the filesystem on the Samba/UNIX
(or similar) machine.

So I would naturally envisage that the data would arrive from the
PC/client at module_1, then battle its way through the remaining modules
towards module_n and (if all modules have succeeded) be passed into the
UNIX servers filesystem.  In other words, I would expect the datapath from
PC/client to samba/filesystem to traverse "vfs object = ..." in the same
order that we humans read that line.

But you seem to suggest the reverse: that the data path goes backwards
along that line as we read it (PC/client data arrives first at module_n). 
Have I mis-understood? 

Perhaps a distinction is needed between "loaded" and "data processed"?
It may be (I don't know) that VFS, as an internal detail, needs to load
the modules in the reverse order to that which the PC-to-server datapath
flows.

But my gut feeling is that the line "vfs object = ..." ought to mean
PC/client at left-hand end, Samba/UNIX/filesystem at right-hand end. 

Hope that helps.

-- 


:  David Lee                                I.T. Service          :
:  Systems Programmer                       Computer Centre       :
:                                           University of Durham  :
:  http://www.dur.ac.uk/t.d.lee/            South Road            :
:                                           Durham                :
:  Phone: +44 191 374 2882                  U.K.                  :





More information about the samba-technical mailing list