Lines Matching refs:idmap
63 struct idmap *idmap; member
66 struct idmap { struct
270 const char *type, struct idmap *idmap) in nfs_idmap_request_key() argument
282 mutex_lock(&idmap->idmap_mutex); in nfs_idmap_request_key()
284 desc, "", 0, idmap); in nfs_idmap_request_key()
285 mutex_unlock(&idmap->idmap_mutex); in nfs_idmap_request_key()
296 size_t data_size, struct idmap *idmap) in nfs_idmap_get_key() argument
304 rkey = nfs_idmap_request_key(name, namelen, type, idmap); in nfs_idmap_get_key()
340 size_t buflen, struct idmap *idmap) in nfs_idmap_lookup_name() argument
347 ret = nfs_idmap_get_key(id_str, id_len, type, buf, buflen, idmap); in nfs_idmap_lookup_name()
355 __u32 *id, struct idmap *idmap) in nfs_idmap_lookup_id() argument
362 data_size = nfs_idmap_get_key(name, namelen, type, id_str, NFS_UINT_MAXLEN, idmap); in nfs_idmap_lookup_id()
414 struct idmap *idmap = pdo->pdo_data; in nfs_idmap_pipe_destroy() local
415 struct rpc_pipe *pipe = idmap->idmap_pipe; in nfs_idmap_pipe_destroy()
426 struct idmap *idmap = pdo->pdo_data; in nfs_idmap_pipe_create() local
427 struct rpc_pipe *pipe = idmap->idmap_pipe; in nfs_idmap_pipe_create()
430 dentry = rpc_mkpipe_dentry(dir, "idmap", idmap, pipe); in nfs_idmap_pipe_create()
445 struct idmap *idmap; in nfs_idmap_new() local
449 idmap = kzalloc(sizeof(*idmap), GFP_KERNEL); in nfs_idmap_new()
450 if (idmap == NULL) in nfs_idmap_new()
453 rpc_init_pipe_dir_object(&idmap->idmap_pdo, in nfs_idmap_new()
455 idmap); in nfs_idmap_new()
462 idmap->idmap_pipe = pipe; in nfs_idmap_new()
463 mutex_init(&idmap->idmap_mutex); in nfs_idmap_new()
467 &idmap->idmap_pdo); in nfs_idmap_new()
471 clp->cl_idmap = idmap; in nfs_idmap_new()
474 rpc_destroy_pipe_data(idmap->idmap_pipe); in nfs_idmap_new()
476 kfree(idmap); in nfs_idmap_new()
483 struct idmap *idmap = clp->cl_idmap; in nfs_idmap_delete() local
485 if (!idmap) in nfs_idmap_delete()
490 &idmap->idmap_pdo); in nfs_idmap_delete()
491 rpc_destroy_pipe_data(idmap->idmap_pipe); in nfs_idmap_delete()
492 kfree(idmap); in nfs_idmap_delete()
510 static int nfs_idmap_prepare_message(char *desc, struct idmap *idmap, in nfs_idmap_prepare_message() argument
548 nfs_idmap_prepare_pipe_upcall(struct idmap *idmap, in nfs_idmap_prepare_pipe_upcall() argument
551 if (idmap->idmap_upcall_data != NULL) { in nfs_idmap_prepare_pipe_upcall()
555 idmap->idmap_upcall_data = data; in nfs_idmap_prepare_pipe_upcall()
560 nfs_idmap_complete_pipe_upcall_locked(struct idmap *idmap, int ret) in nfs_idmap_complete_pipe_upcall_locked() argument
562 struct key_construction *cons = idmap->idmap_upcall_data->key_cons; in nfs_idmap_complete_pipe_upcall_locked()
564 kfree(idmap->idmap_upcall_data); in nfs_idmap_complete_pipe_upcall_locked()
565 idmap->idmap_upcall_data = NULL; in nfs_idmap_complete_pipe_upcall_locked()
570 nfs_idmap_abort_pipe_upcall(struct idmap *idmap, int ret) in nfs_idmap_abort_pipe_upcall() argument
572 if (idmap->idmap_upcall_data != NULL) in nfs_idmap_abort_pipe_upcall()
573 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in nfs_idmap_abort_pipe_upcall()
583 struct idmap *idmap = (struct idmap *)aux; in nfs_idmap_legacy_upcall() local
594 data->idmap = idmap; in nfs_idmap_legacy_upcall()
597 ret = nfs_idmap_prepare_message(key->description, idmap, im, msg); in nfs_idmap_legacy_upcall()
602 if (!nfs_idmap_prepare_pipe_upcall(idmap, data)) in nfs_idmap_legacy_upcall()
605 ret = rpc_queue_upcall(idmap->idmap_pipe, msg); in nfs_idmap_legacy_upcall()
607 nfs_idmap_abort_pipe_upcall(idmap, ret); in nfs_idmap_legacy_upcall()
660 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_pipe_downcall() local
670 if (idmap->idmap_upcall_data == NULL) in idmap_pipe_downcall()
673 cons = idmap->idmap_upcall_data->key_cons; in idmap_pipe_downcall()
697 &idmap->idmap_upcall_data->idmap_msg, in idmap_pipe_downcall()
705 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in idmap_pipe_downcall()
716 struct idmap *idmap = data->idmap; in idmap_pipe_destroy_msg() local
719 nfs_idmap_abort_pipe_upcall(idmap, msg->errno); in idmap_pipe_destroy_msg()
726 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_release_pipe() local
728 nfs_idmap_abort_pipe_upcall(idmap, -EPIPE); in idmap_release_pipe()
733 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_name_to_uid() local
738 ret = nfs_idmap_lookup_id(name, namelen, "uid", &id, idmap); in nfs_map_name_to_uid()
750 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_group_to_gid() local
755 ret = nfs_idmap_lookup_id(name, namelen, "gid", &id, idmap); in nfs_map_group_to_gid()
767 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_uid_to_name() local
773 ret = nfs_idmap_lookup_name(id, "user", buf, buflen, idmap); in nfs_map_uid_to_name()
781 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_gid_to_group() local
787 ret = nfs_idmap_lookup_name(id, "group", buf, buflen, idmap); in nfs_map_gid_to_group()