[Virtio-fs] [fuse-devel] 'FORGET' ordering semantics (vs unlink & NFS)

Peng Tao tao.peng at linux.alibaba.com
Fri Jan 15 10:20:15 UTC 2021



On 2021/1/8 23:26, Vivek Goyal wrote:
> On Fri, Jan 08, 2021 at 12:12:52PM +0800, Eryu Guan wrote:
> 
> [..]
>>> Anyone has other thoughts about how to reduce fragmentation in
>>> implementations?
>>
>> There's an fuse-backend-rs[1] project hosted on cloud-hypervisor, it is
>> a library to communicate with the Linux FUSE clients, which includes:
>>
>> - ABI layer, which defines all data structures shared between linux Fuse
>>    framework and Fuse daemons.
>> - API layer, defines the interfaces for Fuse daemons to implement a
>>    userspace file system.
>> - Transport layer, which supports both the Linux Fuse device and
>>    virtio-fs protocol.
>> - VFS/pseudo_fs, an abstraction layer to support multiple file systems
>>    by a single virtio-fs device.
>> - A sample passthrough file system implementation, which passes through
>>    files from daemons to clients.
>>
> 
> So at a high level, is this equivalent of libfuse written in rust?
Yes, they are similar in concept. Though fuse-backend-rs only provides 
interfaces like the libfuse lowlevel APIs for filesystem 
implementations. The fuse session handling part is still outside [1] but 
we are planning to move it into fuse-backend-rs as well.

Cheers,
Tao

[1] 
https://github.com/dragonflyoss/image-service/blob/master/utils/src/fuse.rs
-- 
Into something rich and strange.




More information about the Virtio-fs mailing list