Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Oct 1997 11:42:43 -0700
From:      John-Mark Gurney <gurney_j@efn.org>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        michaelh@cet.co.jp, luigi@labinfo.iet.unipi.it, hackers@FreeBSD.ORG
Subject:   Re: zipfs filesystem anyone ?
Message-ID:  <19971024114243.36902@hydrogen.nike.efn.org>
In-Reply-To: <199710241824.LAA16384@usr08.primenet.com>; from Terry Lambert on Fri, Oct 24, 1997 at 06:24:05PM %2B0000
References:  <19971024105734.33600@hydrogen.nike.efn.org> <199710241824.LAA16384@usr08.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert scribbled this message on Oct 24:
> > > The only real pain is extending the number of VOP's, should you need to...
> > > and that's going to bite you no matter how you approach it because the
> > > BSD VFS init code is broken (it counts the number of VOP's in the
> > > statically linked UFS instead of using the struct vnops descriptor count,
> > > with placeholders for some "reasonable number" of new VOPs).
> > 
> > are you really sure about this?  by my reading of the code in vfs_init.c
> > (and I've sent enough time looking at the code reciently), the size of the
> > opv table is vfs_opv_numops = sizeof(vfs_op_desc)/
> > sizeof(struct vnodeop_desc*) -1...  shouldn't this be enough? or am I
> > completely missreading the code?
> 
> I haven't seen this; my home machine has been packed in a box on a truck
> and is still in the box, only now in my livingroom.
> 
> This is, in fact, one of my VFS patches!
> 
> Yea, team!

actually.. the change wasn't very massive.. just 3 lines of code and some
comment updates...

as a quick question.. now that we use vfs_opv_numops, should we get ride
of the dummy NULL entry?

> If it's in there, then this is an important first step.  The next step
> would be to add a special placeholder descriptor that can be replaced
> in vfs_op_desc for several slots.  This would make it so you didn't
> have to rebuild all of vnode_if.c and vnode_if.h to add new descriptors:
> you can overwrite the placeholders instead.

or should we simply use the dummy NULL entry (and add some) for the place
holder?

personally, a possible define that declares I want a possible X extra
vop vectors...  and then have a couple variables that tell you the
maximum number, and the current last offset...  this shouldn't be hard
to do...

> Actually, that particular change (not using FFS to size the table)
> is the first change in a chain that lets you boot a machine without
> a file system at all (my original purpose).  8-) 8-).

kool....  are you on -current?  I guess I should of announced my vfsinit
patches to hackers instead...  basicly, to get ride of LKM's and prepare
for kld modules, I needed to change the vfs system to initalize on a
permodule basis instead of a initalize all staticly compiled module
idea...

http://freefall.freebsd.org/~jmg/vfs.patch

-- 
  John-Mark Gurney                          Modem/FAX: +1 541 683 6954
  Cu Networking

  Live in Peace, destroy Micro$oft, support free software, run FreeBSD



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