VFS
Tim Potter
Tim.Potter at anu.edu.au
Wed Mar 17 04:57:10 GMT 1999
> Oooo - this looks really good Tim !
>
> I am CC:ing this to John Sygulla at SGI who wants
> to work on it here. Can you two co-ordinate to get
> the code sent to him (I'm working on oplock hell
> at the moment :-( ).
Well I can tar it all up but if there are multiple people working on
the code it would be nice for it to be under CVS.
> The only change I though might be nice was to remove
> the 'struct connection_struct *conn' first arguments
> to all the functions, and instead add this to the
There was a really good reason for doing this [FX: thinking]. It had
something to do with not knowing which share you were opening a file
on. If you create a whole bunch of virtual shares that map to, for
example tapes, it is impossible to know which share you are referring
to when doing any VFS ops that refer to a file or path name. So, a
connection struct is needed to pass this information to all the VFS
functions.
The only other solution I can think if is a global variable - ick.
> init() function as an argument. We should probably
> add a 'logon' and 'logoff' function also so the
> shared library can associate some internal state
> with the current UNIX username/uid_t pair.
Good idea.
> That way we can load a different shared library per
> share, and pass the share connection structure to
> it at init time. The other functions then become
> much closer to their POSIX equivalents, making it
> easier for 3rd party vendors to use them.
I agree that getting rid of the connection structs is a nice idea, but
I don't want to throw away the idea of being able to have the same
VFS code running multiple shares.
Another option is to implement all the virtual shares as directories.
I looked at this for my tape robot VFS backend but discarded it -
can't remember why though. )-:
Tim.
> What do you think ?
>
> Jeremy.
>
> --
> --------------------------------------------------------
> Buying an operating system without source is like buying
> a self-assembly Space Shuttle with no instructions.
> --------------------------------------------------------
--
Tim Potter, System Admin/Programmer, Head Bee Guy
Advanced Computational Systems CRC, RSISE Bldg Australian National University,
Canberra 0200, AUSTRALIA Ph: +61 2 62798813 Fax: +61 2 62798602
More information about the samba-technical
mailing list