2020-04-27 11:00:44

by Max Reitz

[permalink] [raw]
Subject: Testing auto-submounts

Hi everyone,

Most of this mail may make it seem like it doesn’t concern NFS at all,
so let me get to my question before the explanation on why I’m asking it:

Do you happen to have any tests for auto-submounts, i.e. creating
submounts on the client for every crossmount on the server in the
exported directory tree? I was looking in nfstest.git (and xfstests)
for things like “submount”, “crossmount”, or “automount”, but didn’t
spot anything.

Now, for why I’m asking:

I’m involved in virtio-fs, a way to share directories between VM hosts
and guests, using the FUSE protocol.

We have the problem of presenting unique st_dev/st_ino combinations in
the guest for every unique inode on the host. Right now, we just pass
through the st_ino value from the host, but if you have submounts in the
shared directory, then those st_ino values may collide between different
devices (because the whole tree is just a single mount with a single
st_dev in the guest).

To fix it, we plan on creating an automounted submount in the guest for
every submount on the host, such that every submount has its own st_dev,
so the combination of st_dev/st_ino will remain unique.

This seems similar to what NFS does with the crossmnt option. Now,
because of course we want to test that everything works, I was wondering
whether there are any such tests for NFS already that we could modify
for virtio-fs to get reasonable coverage.

Thanks a lot and kind regards,