VFS: C99 sparse format for struct vfsops
Hiten Pandya
hmp at FreeBSD.ORG
Mon Jun 2 09:04:13 PDT 2003
On Mon, Jun 02, 2003 at 08:17:03AM -0700, Terry Lambert wrote:
> Hiten Pandya wrote:
> > My fingers have been itching to do this since the day phk@ planted this
> > idea in my brain (re: cdevsw initialisations). Basically, it changes
> > the vfsops to use C99 sparse format, just like cdevsw. It removes a lot
> > of junk default initialisations, and duplication.
>
> I really dislike the changes to vfs_init(). Specifically, it's
> not the overhead, so much as it's the implied side effects.
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.
> 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.
Considered. Now consider this, would you argue this about the
sparse cdevsw initialisation in make_dev()? I hardly think so.
It does a good job of centralising things, and making it easier
for all of us.
> This could happen with a new VFS implementation that gets loaded
> as a module. While the current code can't really handle this
> well, the changes move us further away from ever being able to
> handle something like this. 8-(.
But, up to now, this has not been a problem, unless you make it
so. I don't think I even needed to add conditional checks for
the mount and nmount ops in vfs_init. These are things which
would be fault of developer if he doesn't update the
`centralised' code, not yours or mine, or FreeBSD's.
I also don't see the point of having a gazillion default ops
being inited in every fs specific vector when we can just do
this centrally.
-- Hiten (hmp at FreeBSD.ORG)
More information about the freebsd-current
mailing list