Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 1999 10:45:51 -0500
From:      "Alton, Matthew" <Matthew.Alton@anheuser-busch.com>
To:        "'Matthew Dillon'" <dillon@apollo.backplane.com>, "David E. Cross" <crossd@cs.rpi.edu>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   DOC volunteer WAS:RE: userfs help needed.
Message-ID:  <BED2E68B5FB4D21193C90008C7C56836564D46@STLABCEXG012>

next in thread | raw e-mail | index | archive | help
I ran screaming into the woods last year from trying to grok VOP_foo.  The
prospect of a rewrite fills me with warmth and fuzziness. I hereby volunteer
to maintain the VOP(9) man pages and to flesh out my notes into a big, beefy
FS-implementer's Guide to the new VOP_foo.  All the coders have to do is
answer my (at least marginally clueful) questions along the way and keep
posted as to what's going on in new VM-land.  I won't even pester anyone
with design suggestions... very much.  Solid offer, kids.  Everybody wins.
Give it some thought.

> -----Original Message-----
> From:	Matthew Dillon [SMTP:dillon@apollo.backplane.com]
> Sent:	Wednesday, July 28, 1999 6:31 PM
> To:	David E. Cross
> Cc:	freebsd-hackers@FreeBSD.ORG
> Subject:	Re: userfs help needed.
> 
> :I am wading through the portalfs and nullfs source, but I am desperately
> :lost.  I would love to be able to find out who would be willing to help out
> :with questions.  I feel I would be spamming far too many people by just
> sending
> :to -hackers.  Some of the topics I am curious about are general fs-style
> :questions, what the various vop/vfs calls do.  Also I would like to know how
> :to setup a shared memory segment between kernel and user space (as matt
> :dillon suggested).  Finally I would like to know how the buffer-cache
> interacts
> :with the filesystem layer.
> :
> :Thanks
> :--
> :David Cross                               | email: crossd@cs.rpi.edu 
> :Systems Administrator/Research Programmer | Web:
> http://www.cs.rpi.edu/~crossd 
> 
>     Ouch.  I don't think anyone understands the VOP stuff completely.  It's 
>     a big mess -- which is why it's going to be rewritten later this year.
> 
>     Your best bet is to study the implementation of the UFS/FFS filesystem.
>     It may also help to study a more recent filesystem such as coda.  
>     Specifically,
> 
> 	ufs/ufs/ufs_vfsops.c
> 	ufs/ufs/ufs_vnops.c
> 	ufs/ffs/ffs_vfsops.c
> 	ufs/ffs/ffs_vnops.c
> 	coda/coda_vfsops.c
> 	coda/coda_vnops.c
> 
>     What I recommend is that you implement a skeleton that essentially
>     returns an error for all the call entries and does a kernel printf(),
>     and then implement the routines one at a time.
> 
>     The various VOP calls have different locking requirements and resource
>     freeing requirements.  The most difficult resource to deal with in
>     the entire subsystem is the struct componentname structure used for
>     lookup and related ops - all related to namei.  That is, the code that
>     deals with path elements.  Generally speaking the VOP code is required
>     to free a pathname component before returning, but not in all cases.  It's
>     a really odd set of rules and I'd have to review them myself to be able
>     to explain them.
> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon@backplane.com>
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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