cvs commit: src/sys/kern imgact_elf.c kern_descrip.c
kern_exec.c uipc_syscalls.c vfs_bio.c vfs_subr.c vfs_syscalls.c
phk at phk.freebsd.dk
Tue Jan 25 01:28:27 PST 2005
In message <20050125042317.D18864 at mail.chesapeake.net>, Jeff Roberson writes:
>On Tue, 25 Jan 2005, Poul-Henning Kamp wrote:
>> phk 2005-01-25 00:39:00 UTC
>> FreeBSD src repository
>> Modified files:
>> sys/kern imgact_elf.c kern_descrip.c kern_exec.c
>> uipc_syscalls.c vfs_bio.c vfs_subr.c
>> Don't use VOP_GETVOBJECT, use vp->v_object directly.
>How does this effect stacking? Originally this was done so we could get
>the appropriate level of vnode object. Was this discussed somewhere that
It was discussed on arch@ recently.
Short summary: Instead of the code which calls VOP_OPEN being
responsible for vnode_pager object creation it is now the vnode's
own filesystem which must do so in vop_open() (and vfs_fhtovp() if
exportable). This also shaved 200 lines of code out.
Stacking filesystems do this, for instance nullfs sets v_object to that
of the lower filesystem in vop_open() and sets it to NULL in vop_close().
That way vp->v_object can be used directly.
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the cvs-all