summaryrefslogtreecommitdiff
path: root/fs/nfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/idmap.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/nfs/idmap.c b/fs/nfs/idmap.c
index 1d0a5bf..ffb8df9 100644
--- a/fs/nfs/idmap.c
+++ b/fs/nfs/idmap.c
@@ -66,6 +66,7 @@ struct idmap_hashtable {
};
struct idmap {
+ char idmap_path[48];
struct dentry *idmap_dentry;
wait_queue_head_t idmap_wq;
struct idmap_msg idmap_im;
@@ -101,8 +102,11 @@ nfs_idmap_new(struct nfs4_client *clp)
memset(idmap, 0, sizeof(*idmap));
- idmap->idmap_dentry = rpc_mkpipe(clp->cl_rpcclient->cl_dentry,
- "idmap", idmap, &idmap_upcall_ops, 0);
+ snprintf(idmap->idmap_path, sizeof(idmap->idmap_path),
+ "%s/idmap", clp->cl_rpcclient->cl_pathname);
+
+ idmap->idmap_dentry = rpc_mkpipe(idmap->idmap_path,
+ idmap, &idmap_upcall_ops, 0);
if (IS_ERR(idmap->idmap_dentry)) {
kfree(idmap);
return;
@@ -124,7 +128,7 @@ nfs_idmap_delete(struct nfs4_client *clp)
if (!idmap)
return;
- rpc_unlink(idmap->idmap_dentry);
+ rpc_unlink(idmap->idmap_path);
clp->cl_idmap = NULL;
kfree(idmap);
}