Hi Fabian, On Mon, Jul 6, 2020 at 4:28 PM Fabian wrote: > > Hope this is the right list for asking overlayfs <-> squashfs related issues. Yes. > Else please let me know where to ask. > > We are seeing problems using an read-writeable overlayfs (upper) on a readonly > squashfs (lower). The squashfs gets an update from time to time while we keep > the upper overlayfs. > It gets updated while the overlay is offline (not mounted) correct? > On replaced files we then see -ESTALE ("overlayfs: failed to get inode (-116)") > messages if the lower squashfs was created _without_ using the "-no-exports" > switch. > The -ESTALE comes from ovl_get_inode() which in turn calls ovl_verify_inode() > and returns on the line where the upperdentry inode gets compared > ( if (upperdentry && ovl_inode_upper(inode) != d_inode(upperdentry)) ). > > A little debugging shows, that the upper files dentry name does not fit to the > dentry name of the new lower dentry as it seems to look for the inode on the > squashfs "export"-lookup-table which has changed as we replaced the lower fs. > > Building the lower squashfs with the "-no-exports"-mksquashfs option, so > without the export-lookup-table, seems to work, but it might be no longer > exportable using nfs (which is ok and we can keep with it). > > As we didn't find any other information regarding this behaviour or anyone who > also had this problem before we just want to know if this is the right way to > use the rw overlayfs on a (replaceable) ro squashfs filesystem. > > Is this a known issue? Is it really needed to disable the export feature when > using overlayfs on a squashfs if we later need to replace squashfs during an > update? Any hints we can have a look on if this should work and we might have > done wrong during squashfs or overlayfs creation? > This sounds like an unintentional outcome of: 9df085f3c9a2 ovl: relax requirement for non null uuid of lower fs Which enabled nfs_export for overlay with lower squashfs. If you do not need to export overlayfs to NFS, then you can check if the attached patch solves your problem. If you do need to export overlayfs to NFS or to export squashfs to NFS for that matter, you will have a problem, because when re-creating squashfs (I suppose) all file handles are re-assigned randomly to new files, so they have no meaning in the context of NFS file handles exported in the old squashfs. Thanks, Amir.