lkml.org 
[lkml]   [2014]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: kdbus: add node and filesystem implementation
    From
    Hi

    On Fri, Nov 21, 2014 at 5:35 PM, Andy Lutomirski <luto@amacapital.net> wrote:
    > On Thu, Nov 20, 2014 at 9:02 PM, Greg Kroah-Hartman
    > <gregkh@linuxfoundation.org> wrote:
    >> From: Daniel Mack <daniel@zonque.org>
    >>
    >> kdbusfs is a filesystem that will expose a fresh kdbus domain context
    >> each time it is mounted. Per mount point, there will be a 'control'
    >> node, which can be used to create buses. fs.c contains the
    >> implementation of that pseudo-fs. Exported inodes of 'file' type have
    >> their i_fop set to either kdbus_handle_control_ops or
    >> kdbus_handle_ep_ops, depending on their type. The actual dispatching
    >> of file operations is done from handle.c
    >>
    >> node.c is an implementation of a kdbus object that has an id and
    >> children, organized in an R/B tree. The tree is used by the filesystem
    >> code for lookup and iterator functions, and to deactivate children
    >> once the parent is deactivated. Every inode exported by kdbusfs is
    >> backed by a kdbus_node, hence it is embedded in struct kdbus_ep,
    >> struct kdbus_bus and struct kdbus_domain.
    >>
    >> Signed-off-by: Daniel Mack <daniel@zonque.org>
    >> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
    >> Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
    >> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    >> ---
    >
    >
    >> +
    >> +static struct file_system_type fs_type = {
    >> + .name = KBUILD_MODNAME "fs",
    >> + .owner = THIS_MODULE,
    >> + .mount = fs_super_mount,
    >> + .kill_sb = fs_super_kill,
    >> +};
    >
    > Does this want something like:
    >
    > .fs_flags = FS_USERNS_MOUNT

    Yes, we should add that. Nice catch!

    > This design may have the annoying property that, if a namespace-based
    > sandbox wants to use kdbus itself, it will need to proxy anything from
    > the parent that it wants to use.
    >
    > Is there a good reason why individual *busses* don't show up in the
    > filesystem? If they did, maybe they could be bind-mounted or
    > otherwise arranged to cross namespace boundaries.

    Buses show up as directories in kdbusfs. You can bind-mount them
    anywhere you want and you will get access to the endpoints in there.

    Thanks
    David


    \
     
     \ /
      Last update: 2014-11-21 18:21    [W:4.057 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site