Re: Weirdness when writing to pseudofs file

From: Conrad Meyer <cem_at_freebsd.org>
Date: Wed, 22 May 2019 15:02:47 -0700
On Wed, May 22, 2019 at 1:58 PM Johannes Lundberg <johalun_at_freebsd.org> wrote:
> > It seems, a single '>' will cause it to try to create the file (even
> > though it already exists) and that fails (kern_openat).
> >
> I would guess because of
>
> https://github.com/freebsd/freebsd/blob/master/sys/fs/pseudofs/pseudofs_vnops.c#L1042
>
> struct vop_vector pfs_vnodeops = {
> ...
> .vop_create = VOP_EOPNOTSUPP,
> ...
> }

kern_openat -> vn_open(_cred) should only call VOP_CREATE if namei()
cannot find the named vnode (ni_vp == NULL).  Otherwise, it should
just invoke VOP_OPEN.  This suggests there might be a lookup bug in
pfs?  Tracing VOPs as Mark suggested seems like a good next step.

Best,
Conrad
Received on Wed May 22 2019 - 20:08:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:20 UTC