$ mkdir /tmp/ovl && cd /tmp/ovl
$ mkdir upperdir workdir result
$ sudo mount -t overlay overlay -o lowerdir=/tmp/puzzle,workdir=/tmp/ovl/workdir,upperdir=/tmp/ovl/upperdir /tmp/ovl/result
$ ls result
ls: reading directory 'result': Read-only file system
AllowOther option needs to be set.
Build and mount puzzlefs:
Create an overlay:
Strace:
The same steps work for sshfs: