Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

From: Amir Goldstein
Date: Wed May 22 2024 - 09:42:08 EST


On Wed, May 22, 2024 at 2:28 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>
> On Wed, 22 May 2024 at 12:16, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> > The first open would cache the extent list in fuse_inode and
> > second open would verify that the extent list matches.
> >
> > Last file close could clean the cache extent list or not - that
> > is an API decision.
>
> Well, current API clears the mapping, and I would treat the fi->fb as
> a just a special case of the extent list. So by default I'd keep this
> behavior, but perhaps it would make sense to optionally allow the
> mapping to remain after the last close. For now this is probably not
> relevant...

Already in the works ;)

Not tested - probably not working POC:
https://github.com/amir73il/linux/commits/fuse-backing-inode-wip

I am trying an API to opt into inode operation passthrough, which
has a by-product of keeping fi->fb around after last close.

This is designed to be setup on lookup, but could also be setup on
first open.

I have some ideas for how to return backing id with lookup
(and readdirplus) response, but haven't tried them yet.
But setup backing file from lookup response will surely
stick around until inode evict.

Thanks,
Amir.