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()
495 static int nfs_idmap_prepare_message(char *desc, struct idmap *idmap, in nfs_idmap_prepare_message() argument
533 nfs_idmap_prepare_pipe_upcall(struct idmap *idmap, in nfs_idmap_prepare_pipe_upcall() argument
536 if (idmap->idmap_upcall_data != NULL) { in nfs_idmap_prepare_pipe_upcall()
540 idmap->idmap_upcall_data = data; in nfs_idmap_prepare_pipe_upcall()
545 nfs_idmap_complete_pipe_upcall_locked(struct idmap *idmap, int ret) in nfs_idmap_complete_pipe_upcall_locked() argument
547 struct key_construction *cons = idmap->idmap_upcall_data->key_cons; in nfs_idmap_complete_pipe_upcall_locked()
549 kfree(idmap->idmap_upcall_data); in nfs_idmap_complete_pipe_upcall_locked()
550 idmap->idmap_upcall_data = NULL; in nfs_idmap_complete_pipe_upcall_locked()
555 nfs_idmap_abort_pipe_upcall(struct idmap *idmap, int ret) in nfs_idmap_abort_pipe_upcall() argument
557 if (idmap->idmap_upcall_data != NULL) in nfs_idmap_abort_pipe_upcall()
558 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in nfs_idmap_abort_pipe_upcall()
568 struct idmap *idmap = (struct idmap *)aux; in nfs_idmap_legacy_upcall() local
579 data->idmap = idmap; in nfs_idmap_legacy_upcall()
582 ret = nfs_idmap_prepare_message(key->description, idmap, im, msg); in nfs_idmap_legacy_upcall()
587 if (!nfs_idmap_prepare_pipe_upcall(idmap, data)) in nfs_idmap_legacy_upcall()
590 ret = rpc_queue_upcall(idmap->idmap_pipe, msg); in nfs_idmap_legacy_upcall()
592 nfs_idmap_abort_pipe_upcall(idmap, ret); in nfs_idmap_legacy_upcall()
645 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_pipe_downcall() local
655 if (idmap->idmap_upcall_data == NULL) in idmap_pipe_downcall()
658 cons = idmap->idmap_upcall_data->key_cons; in idmap_pipe_downcall()
682 &idmap->idmap_upcall_data->idmap_msg, in idmap_pipe_downcall()
690 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in idmap_pipe_downcall()
701 struct idmap *idmap = data->idmap; in idmap_pipe_destroy_msg() local
704 nfs_idmap_abort_pipe_upcall(idmap, msg->errno); in idmap_pipe_destroy_msg()
711 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_release_pipe() local
713 nfs_idmap_abort_pipe_upcall(idmap, -EPIPE); in idmap_release_pipe()
718 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_name_to_uid() local
723 ret = nfs_idmap_lookup_id(name, namelen, "uid", &id, idmap); in nfs_map_name_to_uid()
735 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_group_to_gid() local
740 ret = nfs_idmap_lookup_id(name, namelen, "gid", &id, idmap); in nfs_map_group_to_gid()
752 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_uid_to_name() local
758 ret = nfs_idmap_lookup_name(id, "user", buf, buflen, idmap); in nfs_map_uid_to_name()
766 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_gid_to_group() local
772 ret = nfs_idmap_lookup_name(id, "group", buf, buflen, idmap); in nfs_map_gid_to_group()