• Andrey Vagin's avatar
    mounts: find mounts, which are propagated from a current one (v2) · 02d8a72b
    Andrey Vagin authored
    A few sentences, which are required for understanging this patch
    
    2a) A shared mount can be replicated to as many mountpoints and all the
    replicas continue to be exactly same.
    2b) A slave mount is like a shared mount except that mount and umount
    events only propagate towards it.
    2c) A private mount does not forward or receive propagation.
    
    All rules is there Documentation/filesystems/sharedsubtree.txt
    
    If it's a first mount in a group, all group members should be
    bind-mounted from this one.
    
    Each mount propagates to all members of parent's group. The group can
    contains a few slaves.
    
    Mounts, which have propagated to slaves, are unmounted, because we can't
    be sure, that they propagated in real life. For example:
    
    mount --bind --make-slave /share /slave1
    mount --bind --make-slave /share /slave2
    mount /share/test
    umount /slave2/test
    mount --make-share /slave1/test
    mount --bind --make-share /slave1/test /slave2/test
    
    41 40 0:33 / /share rw,relatime shared:28 - tmpfs xxx rw
    42 40 0:33 / /slave1 rw,relatime master:28 - tmpfs xxx rw
    43 40 0:33 / /slave2 rw,relatime master:28 - tmpfs xxx rw
    44 41 0:34 / /share/test rw,relatime shared:29 - tmpfs xxx rw
    46 42 0:34 / /slave1/test rw,relatime shared:30 master:29 - tmpfs xxx rw
    45 43 0:34 / /slave2/test rw,relatime shared:30 master:29 - tmpfs xxx rw
    
    /slave1/test and /slave2/test depend on each other and minimum one of them
    doesn't propagate from /share/test
    
    v2: use false and true for bool
    Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    02d8a72b
mount.c 22.1 KB