Savoir quel directory est "mount -o bind" en demandant au kernel (Linux)

Si je mount -o bind /my/dir /mnt/tmp , je peux voir le contenu de /my/dir dans /mnt/temp . Cependant, si je tape cat /proc/mounts , j'obtiens la sortie suivante:

 /dev/sda7 /my ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0 /dev/sda7 /mnt/tmp ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0 

Comme vous pouvez le voir, je sais que sda7 est le périphérique sous-jacent, mais je ne sais pas quel directory dans ce système de files est "mount bound" dans /mnt/temp .

Comment puis-je savoir que sans taper mount qui ne dépend pas du kernel mais de /etc/mtab ? Je voudrais get l'information du kernel lui-même.

EDIT: ce serait bien si la solution pouvait aussi fonctionner pour les directorys liés au moment du assembly depuis /etc/fstab avec ce type de ligne: /my/dir /mnt/temp none bind 0 0

Vous pouvez get cette information à partir de /proc/self/mountinfo :

 # mkdir -p /my/dir # mkdir /mnt/temp # mount -o bind /my/dir /mnt/temp # grep temp /proc/self/mountinfo 26 22 202:1 /my/dir /mnt/temp rw,noatime - ext3 /dev/xvda1 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered 

Voici le patch qui a implémenté ceci dans le kernel: https://lkml.org/lkml/2008/1/29/136

Vous pouvez également utiliser la command findmnt :

 # findmnt /mnt/temp TARGET SOURCE FSTYPE OPTIONS /mnt/temp /dev/xvda1[/my/dir] ext3 rw,noatime,errors=continue,user_xattr,acl,barrier=0,data=ordered 

EDIT : J'ai également vérifié que cette méthode fonctionne lorsqu'elle est montée via /etc/fstab .

 # tail -1 /etc/fstab /my/dir /mnt/temp none bind 0 0