[Virtio-fs] Ways to uniquely and persistently identify nodes

Miklos Szeredi mszeredi at redhat.com
Wed Jan 15 14:58:31 UTC 2020


On Wed, Jan 15, 2020 at 1:51 PM Max Reitz <mreitz at redhat.com> wrote:
>
> On 15.01.20 12:51, Miklos Szeredi wrote:
> > On Wed, Jan 15, 2020 at 11:10 AM Miklos Szeredi <mszeredi at redhat.com> wrote:
> >
> >> New operations needed:
> >>
> >> LOOKUP_WITH_HANDLE: same as LOOKUP, but returns handle in addition to
> >> fuse_ino_t and attributes.
> >> LOOKUP_BY_HANDLE: same as LOOKUP, but gets a handle as input.
> >
> > And that can be reduced further to a single extended LOOKUP_HANDLE,
> > which takes a handle as input and returns a handle in addition to the
> > usual stuff.  The lookup-by-handle case can be done with a special
> > name.  Currently "." is used for this purpose in the fuse protocol,
> > which is a bit confusing since it has nothing to do the "." directory
> > entry, but at least we don't have to introduce a new concept for this.
>
> I’m afraid I don’t quite understand.  What handle would LOOKUP_HANDLE
> take as input when I want to open a new file (as in, LOOKUP_WITH_HANDLE)?

For example open("/foo/bar", ...) would do:

lookup_handle($ROOT_HANDLE, "foo") -> { FOO_HANDLE, FOO_NODEID }
lookup_handle($FOO_HANDLE, "bar") -> { BAR_HANDLE, BAR_NODEID }
open($BAR_NODEID, ...)

Thanks,
Miklos





More information about the Virtio-fs mailing list