On Thu, Apr 09, 2020 at 02:29:00PM +0300, Amir Goldstein wrote: > When overlayfs index feature is enabled by default in either kernel > config or module parameters, this test fails: > > mount: /tmp/8751/mnt: mount(2) system call failed: Stale file handle. > cat: /tmp/8751/mnt/bar: No such file or directory > > The reason is that with index feature enabled, an upper/work dirs cannot > be reused for mounting with a different lower layer. I re-built my test kernel with CONFIG_OVERLAY_FS_INDEX=y, and confirmed /sys/module/overlay/parameters/index is 'Y', but test still passes for me. And I do notice the following info in dmesg: [ 598.663923] overlayfs: fs on '/mnt/scratch/ovl-mnt/up' does not support file handles, falling back to index=off,nfs_export=off. [ 598.674299] overlayfs: fs on '/mnt/scratch/ovl-mnt/low' does not support file handles, falling back to index=off,nfs_export=off. [ 598.684594] overlayfs: fs on '/mnt/scratch/ovl-mnt/' does not support file handles, falling back to index=off,nfs_export=off. Seems it has something to do with nfs_export feature? I have it disabled by default. # CONFIG_OVERLAY_FS_NFS_EXPORT is not set Could you please help confirm? Thanks, Eryu > > Reported-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx> > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > --- > tests/overlay/029 | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tests/overlay/029 b/tests/overlay/029 > index 1d2d2092..17f58de7 100755 > --- a/tests/overlay/029 > +++ b/tests/overlay/029 > @@ -68,12 +68,18 @@ _overlay_mount_dirs $SCRATCH_MNT/up $tmp/{upper,work} \ > cat $tmp/mnt/foo > $UMOUNT_PROG $tmp/mnt > > +# re-create upper/work to avoid ovl_verify_origin() mount failure > +# when index is enabled > +rm -rf $tmp/{upper,work} > +mkdir -p $tmp/{upper,work} > # mount overlay again using lower dir from SCRATCH_MNT dir > _overlay_mount_dirs $SCRATCH_MNT/low $tmp/{upper,work} \ > overlay $tmp/mnt > cat $tmp/mnt/bar > $UMOUNT_PROG $tmp/mnt > > +rm -rf $tmp/{upper,work} > +mkdir -p $tmp/{upper,work} > # mount overlay again using SCRATCH_MNT dir > _overlay_mount_dirs $SCRATCH_MNT/ $tmp/{upper,work} \ > overlay $tmp/mnt > -- > 2.17.1 >