Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jun 2003 09:04:11 -0700
From:      Hiten Pandya <hmp@FreeBSD.ORG>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        des@FreeBSD.ORG
Subject:   Re: VFS: C99 sparse format for struct vfsops
Message-ID:  <20030602160411.GA24490@perrin.int.nxad.com>
In-Reply-To: <3EDB6A6F.827B7C22@mindspring.com>
References:  <20030602014757.GA99626@perrin.int.nxad.com> <3EDB6A6F.827B7C22@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.ORG)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030602160411.GA24490>