Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 May 2019 16:12:19 -0700
From:      Johannes Lundberg <johalun@FreeBSD.org>
To:        cem@freebsd.org
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Weirdness when writing to pseudofs file
Message-ID:  <917d2e91-3337-bb29-0103-d6319096a95f@FreeBSD.org>
In-Reply-To: <CAG6CVpVwsczJSQjqTMZz2SoPpUxC7O4QkRJ6tfVsmcp%2BHqVYrA@mail.gmail.com>
References:  <6ec62e4d-9f93-ffe1-646c-3846c9308334@FreeBSD.org> <20190522175133.GC2748@kib.kiev.ua> <84e3001b-646d-b1d9-f206-577d63f79bf1@FreeBSD.org> <CAOtMX2i63czMAWmnJik5=gEY=5r4YFhz084zJ8xoThR01POGhQ@mail.gmail.com> <eb0fd852-643d-e399-2988-92de744d6e07@FreeBSD.org> <f1e31c0b-9383-05f9-f1b5-939a586d21d0@FreeBSD.org> <CAG6CVpVwsczJSQjqTMZz2SoPpUxC7O4QkRJ6tfVsmcp%2BHqVYrA@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail


On 5/22/19 3:02 PM, Conrad Meyer wrote:
> On Wed, May 22, 2019 at 1:58 PM Johannes Lundberg <johalun@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

Thanks Conrad. Yeah, that makes sense that it would open instead of
recreating. Tracing a'la Mark points to

vop_getwritemount

failing.




help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?917d2e91-3337-bb29-0103-d6319096a95f>