为什么重复的绑定挂载会在 中创建多个条目/proc/mounts
?
# md -p /mnt/test-mount/{source,target}
# mount --bind /mnt/test-mount/{source,target}
# grep test-mount /proc/mounts
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
# mount --bind /mnt/test-mount/{source,target}
# grep test-mount /proc/mounts
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
/dev/sda3 /mnt/test-mount/source ext4 rw,relatime 0 0
第一次绑定安装后,有一个条目将源卷映射到安装点。第二次调用后,我们有一个额外的挂载点条目和一个源前缀条目。
同样地,发现报告源已绑定安装到自身:
# findmnt |grep test-mount
├─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
经过另一次重复之后,我最终得到三源条目,目标条目四个:
# mount --bind /mnt/test-mount/{source,target
# findmnt |grep test-mount
├─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
进展是1、3、7、15……, IEn = 1 + 2^(n-1),导致每次安装操作时附加条目的数量加倍。
这是什么原因呢?