From 5d8865b4ea08025f65052e82bcc5d71fabebe461 Mon Sep 17 00:00:00 2001 From: Evgeniy Polyakov Date: Fri, 27 Mar 2009 15:04:18 +0300 Subject: [PATCH] --- yaml --- r: 143651 b: refs/heads/master c: 288a9a8955cd28bf6a0f48ec821cf9028e96081b h: refs/heads/master i: 143649: c04038545679b2f19165d1bff5029fd8a109fc6b 143647: 784ebd31a294447319aa3795d4f9f09c47fea06d v: v3 --- [refs] | 2 +- trunk/drivers/staging/pohmelfs/net.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ad8c347a8c9e..79895cbc9c33 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f7ed550b3ecab4a14f78019ff3e8899add607f92 +refs/heads/master: 288a9a8955cd28bf6a0f48ec821cf9028e96081b diff --git a/trunk/drivers/staging/pohmelfs/net.c b/trunk/drivers/staging/pohmelfs/net.c index c9b8540c1efe..93a5921c36f4 100644 --- a/trunk/drivers/staging/pohmelfs/net.c +++ b/trunk/drivers/staging/pohmelfs/net.c @@ -450,8 +450,24 @@ static int pohmelfs_readdir_response(struct netfs_state *st) if (err != -EEXIST) goto err_out_put; } else { + struct dentry *dentry, *alias, *pd; + set_bit(NETFS_INODE_REMOTE_SYNCED, &npi->state); clear_bit(NETFS_INODE_OWNED, &npi->state); + + pd = d_find_alias(&parent->vfs_inode); + if (pd) { + str.hash = full_name_hash(str.name, str.len); + dentry = d_alloc(pd, &str); + if (dentry) { + alias = d_materialise_unique(dentry, &npi->vfs_inode); + if (alias) + dput(dentry); + } + + dput(dentry); + dput(pd); + } } } out: