Re: [PATCH v4 3/3] fuse: add an implementation of open+getattr
From: Bernd Schubert
Date: Thu Jan 15 2026 - 08:41:53 EST
On 1/15/26 14:38, Horst Birthelmer wrote:
> On Wed, Jan 14, 2026 at 06:29:26PM -0800, Joanne Koong wrote:
>> On Fri, Jan 9, 2026 at 10:27 AM Horst Birthelmer <horst@xxxxxxxxxxxxxx> wrote:
>>>
>>> +
>>> + err = fuse_compound_send(compound);
>>> + if (err)
>>> + goto out;
>>> +
>>> + err = fuse_compound_get_error(compound, 0);
>>> + if (err)
>>> + goto out;
>>> +
>>> + err = fuse_compound_get_error(compound, 1);
>>> + if (err)
>>> + goto out;
>>
>> Hmm, if the open succeeds but the getattr fails, why not process it
>> kernel-side as a success for the open? Especially since on the server
>> side, libfuse will disassemble the compound request into separate
>> ones, so the server has no idea the open is even part of a compound.
>>
>> I haven't looked at the rest of the patch yet but this caught my
>> attention when i was looking at how fuse_compound_get_error() gets
>> used.
>>
> After looking at this again ...
> Do you think it would make sense to add an example of lookup+create, or would that just convolute things?
I think that will be needed with the LOOKUP_HANDLE from Luis, if we go
the way Miklos proposes. To keep things simple, maybe not right now?
Thanks,
Bernd