Paul Richards wrote: > On Mon, Jun 02, 2003 at 09:04:11AM -0700, Hiten Pandya wrote: > > And how many times is vfc_register() called? Its not in the > > patch of an I/O operation or anything. Its just a mount time > > overhead which will go through -- a one time thing. > > > > On Mon, Jun 02, 2003 at 08:17:03AM -0700, Terry Lambert wrote: > > > Consider this going forward: someone adds a new VFSOP to the > > > list of allowable VFSOPs, and the vfs_init() doesn't have any > > > specific code for it. > > You should look at kobj, it's precisely this sort of dynamic > dispatching that it was designed to support. I think it's inappropriate technology for the VFSOP and VOP cases. The real issue with VFSOP and VOP calls is that they are call-by-descriptor, and the descriptor reference can be proxied across a protection domain, no problem, as long as there are not weird defaults. For example, with a proxy in and out of the kernel of a top and bottem end named pipe/socket/other datia serialization interface, it's possible to do VFS stacking layer develeopement in user space, where there are better debugging tools, and where a failure is not fatal to the kernel. That means that the developement can proceed much rapidly from prototype to the finished product. It's also possible to proxy over a network; this provides a means of implementing an extensible network file system framework (like that which was prototyped by John Heidemann's students) to implement operations, as needed. One of the widely acknowledged weaknesses of NFS is it's inability to be meaningfully extended for things like extended attributes, ACLs, mandatory access controls, etc. -- all things requiring VFSOPs or VOPs to to b added to the protocol, structures defined, agreed upon by both parties, etc., etc.. With the descriptor mechanism, I may pass from the system call interface to a quiota stacking layer on a local machine, to a crypto stacking layer on a border machine, over the Internet, to a crypto layer on another border machine at the remote site, to a local machine at the remote site, and then down to FFS and from there to a local disk array. Not only that, the middle layers don't have to know all the VOPs descriptors, because they pass them through unmolested, and so the border machines are unaware of how to decode the content they are transiting. I really can't do this with kobj; with kobj, I can only pass the interface references around within a single protection domain on a single machine. -- TerryReceived on Tue Jun 03 2003 - 20:39:09 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:10 UTC