O kernel expõe a (lista completa de) opções de montagem via /proc/mounts
. Para overlayfs, isso inclui as opções lowerdir
e upperdir
:
$ cd /tmp
$ mkdir lower upper overlay
$ sudo mount -t overlayfs -o lowerdir=/tmp/lower,upperdir=/tmp/upper none /tmp/overlay
$ tail -n 1 /proc/mounts
none /tmp/overlay overlayfs rw,relatime,lowerdir=/tmp/lower,upperdir=/tmp/upper 0 0
No caso geral, a análise pode ser complicada, pois os próprios caminhos podem conter espaços e vírgulas que são usados como separadores de campo nas informações do sistema de arquivos. Se você puder supor que não há espaços ou vírgulas no nos caminhos, talvez consiga gerenciar algo como:
$ LOWER=$(tail -n 1 /proc/mounts | egrep -om1 'lowerdir=[^, ]*' | sed s/lowerdir=//)
$ UPPER=$(tail -n 1 /proc/mounts | egrep -om1 'upperdir=[^, ]*' | sed s/upperdir=//)
$ echo $LOWER $UPPER
/tmp/lower /tmp/upper