features in samba 3.alpha (VFS)

David Collier-Brown davecb at canada.sun.com
Wed Dec 5 05:30:03 GMT 2001


Andrew Bartlett wrote:
> In my mind, creating a stacking VFS is quite simple:
> 
> Each module both provides and accepts a VFS_OPTS structure.  The one it
> provides implements the operations it supports, and the one it accpets
> is used when it needs to conduct an operation.
[...]

> This gives you a nice simple interface - all the modules are just a
> list.

	Yes, Tim expressed that part at the time...

> You could go the full pam-like interface, but I don't see how it helps
> much - the ability to be 'sufficient' implies the module signling back
> things that never change - why not just keep them in the code?
> (Specifing that an SQL module must pass-though its ops to another module
> doesn't make sense, and specifing the virus scanner as the final module
> doesn't either).

	That was one of the ussues: ordering the VFS
	components in a necessary and sufficient relationship.
	We disn't have a way to express such constraints,
	so the user would "just have to know" what order
	to stack them in.

	Hmmn: if we added a hook for a set of annotations,
	we might be able to 
	1) deliver a simple user-must-order version now
	2) experiment with different ordering constraints
	   for later rollout


	How about an ordered list of
		vfs = <binary> <constraint> [options]
	where 
		binary is a path to a .so
		constraints are To Be Defined, except
			for the null constraint, "-"
		options are specific to the binary


	eg, for a database that stores dta using keys that
	once upon a time were DOS filename, and may have
	later been NT filenames...

	[file-like-db]
		vfs = virus.so - 
		vfs = namemap.so optional -f /usr/local/saamba/lib/name.cfg
		vfs = sql.so -

	where the "optional" doesn't get evaluated by the
	current vfs loader, so it's really a note to the
	human.
	

--dave (speculating) c-b
-- 
David Collier-Brown,           | Always do right. This will gratify 
Americas Customer Engineering, | some people and astonish the rest.
SunPS Integration Services.    |                      -- Mark Twain
(905) 415-2849                 | davecb at canada.sun.com




More information about the samba-technical mailing list