• David Howells's avatar
    ipc: Convert mqueue fs to fs_context · e1b836f6
    David Howells authored
    Convert the mqueue filesystem to use the filesystem context stuff.
    
    Notes:
    
     (1) The relevant ipc namespace is selected in when the context is
         initialised (and it defaults to the current task's ipc namespace).
         The caller can override this before calling vfs_get_tree().
    
     (2) Rather than simply calling kern_mount_data(), mq_init_ns() and
         mq_internal_mount() create a context, adjust it and then do the rest
         of the mount procedure.
    
     (3) The lazy mqueue mounting on creation of a new namespace is retained
         from a previous patch, but the avoidance of sget() if no superblock
         yet exists is reverted and the superblock is again keyed on the
         namespace pointer.
    
         Yes, there was a performance gain in not searching the superblock
         hash, but it's only paid once per ipc namespace - and only if someone
         uses mqueue within that namespace, so I'm not sure it's worth it,
         especially as calling sget() allows avoidance of recursion.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    e1b836f6
mqueue.c 40.1 KB