Re: FUSE merging?

Miklos Szeredi
2005-07-02T14:59:17Z

> Taking a quick glance at v9fs and fuse I fail to see how either
> plays nicely with the page cache.
>
> v9fs according to my reading of the protocol specification does
> not have any concept of a lease. So you can't tell if you are
> talking about a virtual filesystem where all calls should be passed
> straight to the server or a real filesystem where you can perform
> caching. The implementation simply appears to bypass the pagecache
> which seems sane.
>
> Skimming through the FUSE code I see the same problem, in that you can't
> autodetect the right thing. This is currently hacked around with
> "direct_io" mount option selecting between a cached and a non-cached
> status on a filesystem basis at mount time. But having
> a per file flag would be nicer.

There's a plan to make this work. The kernel ABI has alredy been
prepared for this, it would be relatively little work to implement.
But I usually wait with something like this until people actually
start asking for this feature.

> I also don't understand why in fuse direct_io is an if statement in
> fuse_file_read/write instead of simply being a different set of
> filesystem operations.

Good point. I'll fix that.

> Neither implementation seems to forward user space locks to the
> filesystem server.

This too has been discussed. The last half year has been mostly spend
with ironing out problems cought during integration. Sometime this
summer I'll start implementing these new features (inode based API,
locking, userspace NFS serving, maybe shared writable mmap support).

Miklos