Re: [PATCH] fuse: Add open-gettr for fuse-file-open

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 8/21/24 18:18, Miklos Szeredi wrote:
> On Wed, 21 Aug 2024 at 17:55, Bernd Schubert <bernd.schubert@xxxxxxxxxxx> wrote:
> 
>> But how would fuse_file_open() know how to send a sequence of requests?
> 
> It would just send a FUSE_COMPOUND request, which contains a
> FUSE_GETATTR and a FUSE_OPEN request.
> 
>> I don't see an issue to decode that on the server side into multiple
>> requests, but how do we process the result in fuse-client? For fg
>> requests we have exactly request that gets processed by the vfs
>> operaration sending a request - how would that look like with compounds?
> 
> AFAIU compunds in NFS4 bundle multiple request into one which the
> server processes sequentially and the results are also returned in a
> bundle.
> 
> That's just the protocol, the server and the client can use this in
> any way that conforms to the protocol.
> 
>>
>> Or do I totally misunderstand you and you want to use compounds to avoid
>> the uber struct for atomic-open? At least we still need to add in the
>> ATOMIC_OPEN_IS_OPEN_GETATTR flag there and actually another like
>> ATOMIC_OPEN_IS_DIRECTORY.
> 
> Yes, the main advantage would be to avoid having to add new request
> types for things that are actually just the aggregation of multiple
> existing request types.

Thanks, that simplifies things for fuse kernel. I'm still thinking about
what is the best way for fuse server. Traveling (back home) the next
days - will come with a new patch next week.


Thanks,
Bernd




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux