• Home
  • Raw
  • Download

Lines Matching refs:idmap

86 struct idmap {  struct
113 struct idmap *idmap; in nfs_idmap_new() local
118 idmap = kzalloc(sizeof(*idmap), GFP_KERNEL); in nfs_idmap_new()
119 if (idmap == NULL) in nfs_idmap_new()
122 idmap->idmap_dentry = rpc_mkpipe(clp->cl_rpcclient->cl_dentry, "idmap", in nfs_idmap_new()
123 idmap, &idmap_upcall_ops, 0); in nfs_idmap_new()
124 if (IS_ERR(idmap->idmap_dentry)) { in nfs_idmap_new()
125 error = PTR_ERR(idmap->idmap_dentry); in nfs_idmap_new()
126 kfree(idmap); in nfs_idmap_new()
130 mutex_init(&idmap->idmap_lock); in nfs_idmap_new()
131 mutex_init(&idmap->idmap_im_lock); in nfs_idmap_new()
132 init_waitqueue_head(&idmap->idmap_wq); in nfs_idmap_new()
133 idmap->idmap_user_hash.h_type = IDMAP_TYPE_USER; in nfs_idmap_new()
134 idmap->idmap_group_hash.h_type = IDMAP_TYPE_GROUP; in nfs_idmap_new()
136 clp->cl_idmap = idmap; in nfs_idmap_new()
143 struct idmap *idmap = clp->cl_idmap; in nfs_idmap_delete() local
145 if (!idmap) in nfs_idmap_delete()
147 rpc_unlink(idmap->idmap_dentry); in nfs_idmap_delete()
149 kfree(idmap); in nfs_idmap_delete()
222 nfs_idmap_id(struct idmap *idmap, struct idmap_hashtable *h, in nfs_idmap_id() argument
231 im = &idmap->idmap_im; in nfs_idmap_id()
247 mutex_lock(&idmap->idmap_lock); in nfs_idmap_id()
248 mutex_lock(&idmap->idmap_im_lock); in nfs_idmap_id()
267 add_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_id()
268 if (rpc_queue_upcall(idmap->idmap_dentry->d_inode, &msg) < 0) { in nfs_idmap_id()
269 remove_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_id()
274 mutex_unlock(&idmap->idmap_im_lock); in nfs_idmap_id()
277 remove_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_id()
278 mutex_lock(&idmap->idmap_im_lock); in nfs_idmap_id()
287 mutex_unlock(&idmap->idmap_im_lock); in nfs_idmap_id()
288 mutex_unlock(&idmap->idmap_lock); in nfs_idmap_id()
296 nfs_idmap_name(struct idmap *idmap, struct idmap_hashtable *h, in nfs_idmap_name() argument
306 im = &idmap->idmap_im; in nfs_idmap_name()
308 mutex_lock(&idmap->idmap_lock); in nfs_idmap_name()
309 mutex_lock(&idmap->idmap_im_lock); in nfs_idmap_name()
327 add_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_name()
329 if (rpc_queue_upcall(idmap->idmap_dentry->d_inode, &msg) < 0) { in nfs_idmap_name()
330 remove_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_name()
335 mutex_unlock(&idmap->idmap_im_lock); in nfs_idmap_name()
338 remove_wait_queue(&idmap->idmap_wq, &wq); in nfs_idmap_name()
339 mutex_lock(&idmap->idmap_im_lock); in nfs_idmap_name()
350 mutex_unlock(&idmap->idmap_im_lock); in nfs_idmap_name()
351 mutex_unlock(&idmap->idmap_lock); in nfs_idmap_name()
380 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_pipe_downcall() local
381 struct idmap_msg im_in, *im = &idmap->idmap_im; in idmap_pipe_downcall()
393 mutex_lock(&idmap->idmap_im_lock); in idmap_pipe_downcall()
399 wake_up(&idmap->idmap_wq); in idmap_pipe_downcall()
411 h = &idmap->idmap_user_hash; in idmap_pipe_downcall()
414 h = &idmap->idmap_group_hash; in idmap_pipe_downcall()
429 wake_up(&idmap->idmap_wq); in idmap_pipe_downcall()
440 wake_up(&idmap->idmap_wq); in idmap_pipe_downcall()
453 mutex_unlock(&idmap->idmap_im_lock); in idmap_pipe_downcall()
461 struct idmap *idmap = container_of(im, struct idmap, idmap_im); in idmap_pipe_destroy_msg() local
465 mutex_lock(&idmap->idmap_im_lock); in idmap_pipe_destroy_msg()
467 wake_up(&idmap->idmap_wq); in idmap_pipe_destroy_msg()
468 mutex_unlock(&idmap->idmap_im_lock); in idmap_pipe_destroy_msg()
494 struct idmap *idmap = clp->cl_idmap; in nfs_map_name_to_uid() local
496 return nfs_idmap_id(idmap, &idmap->idmap_user_hash, name, namelen, uid); in nfs_map_name_to_uid()
501 struct idmap *idmap = clp->cl_idmap; in nfs_map_group_to_gid() local
503 return nfs_idmap_id(idmap, &idmap->idmap_group_hash, name, namelen, uid); in nfs_map_group_to_gid()
508 struct idmap *idmap = clp->cl_idmap; in nfs_map_uid_to_name() local
510 return nfs_idmap_name(idmap, &idmap->idmap_user_hash, uid, buf); in nfs_map_uid_to_name()
514 struct idmap *idmap = clp->cl_idmap; in nfs_map_gid_to_group() local
516 return nfs_idmap_name(idmap, &idmap->idmap_group_hash, uid, buf); in nfs_map_gid_to_group()