VFS modules proposed design - WAS Re: Moving 8.3 filenames into VFS - WAS Re: meeting with SUGJ
Michael H Buselli
busellim at pprd.abbott.com
Wed Aug 1 15:22:31 GMT 2001
Michael Gerdts said:
> One other thing that may be useful is stackable VFS modules. Suppose I had
> two VFS modules: one that did auditing and one that did virus checking.
> Under the current model, I would have to decide which one I wanted (or
> write a new one that incorporated both feature sets). If they were
> stackable, I could have the functionality of both with no real troubles.
I thought that this would be a good idea as well. From the perspective
of being within the VFS module, could it be as simple as replacing the
function pointers in default_vfs_ops with function pointers to the VFS
module in the next layer down?
Right now default_vfs_ops is an external global variable. It would
probably be better to pass a (const struct vfs_ops *) into the
vfs_init() function within the VFS module and expect the coder of the
VFS module to save the pointer to that struct vfs_ops in a file-local
global variable. At initialization the different vfs_init() fuctions in
each VFS module would be called with the lowest VFS module getting the
true default_vfs_ops structure, the second lowest getting the return
value of the first after it was modified appropriately to fill in the
NULLs, and so on.
In any case, I think that any stackable VFS solution would require some
change or another to the SMB_VFS_INTERFACE_VERSION, and thus we probably
can't have it in a production level release until Samba 2.4.0.
I'd be willing to code it if the Samba core believes it is feasible, but
not this week. :)
Michael H. Buselli
Senior Network Systems Specialist Abbott Laboratories
Email: busellim at pprd.abbott.com D472/AP9A-L20
Phone: 847-935-4624 100 Abbott Park Road
Fax: 847-935-0142 Abbott Park, IL 60064-3500
More information about the samba-technical