Subject: Re: removing VOPs
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Jonathan Stone <jonathan@Pescadero.dsg.stanford.edu>
List: tech-kern
Date: 09/27/2005 11:08:54
In message <1127804146.169089.8336.nullmailer@yamt.dyndns.org>,
YAMAMOTO Takashi writes:
>hi,
>
>unless anyone objects, i'll remove the following VOPs.
>ie. make them filesystem internal.
>
> VOP_BLKATOFF
> VOP_VALLOC
> VOP_REALLOCBLKS
> VOP_VFREE
> VOP_TRUNCATE
> VOP_UPDATE
Yamamto-san,
I agre with the overall goal of simlpifying the VFS layer.
But please, can we also ensure that the VFS layer still exports all
the vnode operations necessary to support virtualizing a filesystem --
as done, for example, for FreeBSD-4 by Erez Zadok's FiST tool?
(If I ever find time, I intend to write a wrapfs for NetBSD-3 or
-current, assuming the FreeBSD-4 wrapfs is a useful starting point).
>afaik there is no point to export them.
I have a dim memory that the Solaris vnode interface uses VOP_TRUNCATE
between stackable filesystems, though I don't recall if Solaris has
a VOP_SETATTR, or (if so) why they use VOP_TRUNCATE also.
If (dim) memory serves, the FICUS work from UCLA was the source of
support for stackable filesystems and was the motivating factor
whereby CSRG put the "message-passing" VOP interface in 4.4BSD. It'd
be nice not to lose that functionality.
Speaking of which; Has anyone who knows our VFS/vnode API really well
(Bill comes to mind; anyone else) ever had a look at the patches to
FreeBSD-4's vnode ops which are bundled with the FiST templates for
FreeBSD-4? Does our vnode API have any of the same limitations which
made those patches necessary for a stackable filesystem like wrapfs?