Further Explanation of the Filesystem Layout

We've configured the automounter to mount the image1.iso in /mnt/isosrv_auto/. If a process tries to access /mnt/isosrv_auto/image1/, the automounter will mount the ISO 9660 image. But if a process accesses the /mnt/isosrv_auto/ directory, the automounter will do nothing.

To remedy this, we create another directory called /mnt/isosrv/. In this directory, we could create a symbolic link from /mnt/isosrv_auto/image1/ to /mnt/isosrv/image1/. The symbolic link always would be visible when any process accesses /mnt/isosrv/. When the process tries to access /mnt/isosrv/image1 (the symbolic link), the kernel will cause the automounter to mount the image1.iso into /mnt/isosrv_auto/. The symbolic link (/mnt/isosrv/image1) then would point to the newly mounted original.

A problem yet remains: if a process accesses /mnt/isosrv/, which contains all of the symbolic links to the ISO 9660 files, in such a way that it accesses all of the file metadata (e.g., modified time, file type and access permissions), then it will force the automounter to mount all the ISO 9660 images that are linked to from this directory (ls -la is an example of a process that would do this). This defeats the purpose of using the automounter in the first place.

The solution is to create a directory within the /mnt/isosrv for each ISO 9660 image, then within each directory, create the symbolic link back to the mountpoint found in /mnt/isosrv_auto/.