On 19/8/23 02:48, Mike Marion wrote:
On Fri, Aug 18, 2023 at 03:08:19PM +0200, Robert Vasek wrote:
Dear autofs community,
is it possible to bind-mount a direct map without triggering the
underlying mount? Or is this considered simply "beyond stat" and
cannot be done?
I don't think so, if that was made to work then automounting
wouldn't work any more.
We're doing this all the time. We're using singularity vs docker, which
likely makes a difference, but instead of binding various paths, we only
bind the root path in direct map. e.g. bind a root of /nfs where all the
paths in the direct map start with /nfs and the accesses inside the
container trigger things from the main OS.
Unfortunately it means you have to mount the entire direct map tree and
not only specific paths, but that works for our use case.
Do you mean the entire tree?
The autofs trigger mounts for direct mounts get mounted regardless of
this.
I'm trying to share the autofs mount into a container. While indirect
maps work as expected (in the container I can see the autofs mount and
then trigger mounts inside), sharing and bindmounting direct maps
triggers the volume mount immediately, and the container sees only the
volume.
I have worked with peers that tried mounting several specific paths in
the map, and they've run into a lot of issues. Both that it mounts like
you mention, but also they apparently have issues where it can time out
and be umounted, and then accesses from inside the container after that
don't trigger it to mount again.
That's because the expire check cannot check propagated mount expiry.
I have had a lot of trouble with this over a long time.
I do have kernel changes for it but they too are very likely going to
be controversial when I post them, we will have to see ...
Ian