kdbus: add node and filesystem implementation
authorDaniel Mack <daniel@zonque.org>
Fri, 14 Nov 2014 08:59:08 +0000 (09:59 +0100)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 4 Apr 2016 01:12:24 +0000 (10:12 +0900)
commit86a6e70a20ce587a99199fa0e9fcb21b69f0b523
treed95e43fc8d984873195562adefbe0e7e15879db0
parent2cc3ccaa3d3dd0e12ba5ee99dd2dfecb97d25757
kdbus: add node and filesystem implementation

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.

Change-Id: Id58f901f907569eb0ef9b77c0fb11a24c431acb5
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>
Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
include/uapi/linux/magic.h
ipc/kdbus/fs.c [new file with mode: 0644]
ipc/kdbus/fs.h [new file with mode: 0644]
ipc/kdbus/node.c [new file with mode: 0644]
ipc/kdbus/node.h [new file with mode: 0644]