Re: kdbus: add node and filesystem implementation
From: David Herrmann <hidden>
Date: 2014-11-21 16:13:40
Also in:
lkml
Hi On Fri, Nov 21, 2014 at 4:55 PM, Sasha Levin [off-list ref] wrote:
On 11/21/2014 12:02 AM, Greg Kroah-Hartman wrote:quoted
+static struct dentry *fs_dir_iop_lookup(struct inode *dir, + struct dentry *dentry, + unsigned int flags) +{ + struct dentry *dnew = NULL; + struct kdbus_node *parent; + struct kdbus_node *node; + struct inode *inode; + + parent = kdbus_node_from_dentry(dentry->d_parent); + if (!kdbus_node_acquire(parent)) + return NULL; + + /* returns reference to _acquired_ child node */ + node = kdbus_node_find_child(parent, dentry->d_name.name); + if (node) { + dentry->d_fsdata = node; + inode = fs_inode_get(dir->i_sb, node); + if (IS_ERR(inode)) + dnew = ERR_CAST(inode); + else + dnew = d_materialise_unique(dentry, inode);d_materialise_unique() is gone in Al's fs tree: [mandatory] d_materialise_unique() is gone; d_splice_alias() does everything you need now. Remember that they have opposite orders of arguments ;-/
That was actually pushed after we prepared v2, so I haven't seen it yet. I now rebased on top of vfs.git#for-next, with d_materialise_unique() -> d_splice_alias(). Thanks for the hint!
Maybe it's worth basing your git tree on top of Al's rather than a random -rc, since it's now a filesystem?
Sure, sounds good. Thanks David