• M
    [patch 4/7] vfs: mountinfo: add mount peer group ID · 719f5d7f
    Miklos Szeredi 提交于
    Add a unique ID to each peer group using the IDR infrastructure.  The
    identifiers are reused after the peer group dissolves.
    
    The IDR structures are protected by holding namepspace_sem for write
    while allocating or deallocating IDs.
    
    IDs are allocated when a previously unshared vfsmount becomes the
    first member of a peer group.  When a new member is added to an
    existing group, the ID is copied from one of the old members.
    
    IDs are freed when the last member of a peer group is unshared.
    
    Setting the MNT_SHARED flag on members of a subtree is done as a
    separate step, after all the IDs have been allocated.  This way an
    allocation failure can be cleaned up easilty, without affecting the
    propagation state.
    
    Based on design sketch by Al Viro.
    Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
    719f5d7f
namespace.c 57.1 KB