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()
415 struct idmap *idmap = pdo->pdo_data; in nfs_idmap_pipe_destroy() local
416 struct rpc_pipe *pipe = idmap->idmap_pipe; in nfs_idmap_pipe_destroy()
427 struct idmap *idmap = pdo->pdo_data; in nfs_idmap_pipe_create() local
428 struct rpc_pipe *pipe = idmap->idmap_pipe; in nfs_idmap_pipe_create()
431 dentry = rpc_mkpipe_dentry(dir, "idmap", idmap, pipe); in nfs_idmap_pipe_create()
446 struct idmap *idmap; in nfs_idmap_new() local
450 idmap = kzalloc(sizeof(*idmap), GFP_KERNEL); in nfs_idmap_new()
451 if (idmap == NULL) in nfs_idmap_new()
454 rpc_init_pipe_dir_object(&idmap->idmap_pdo, in nfs_idmap_new()
456 idmap); in nfs_idmap_new()
463 idmap->idmap_pipe = pipe; in nfs_idmap_new()
464 mutex_init(&idmap->idmap_mutex); in nfs_idmap_new()
468 &idmap->idmap_pdo); in nfs_idmap_new()
472 clp->cl_idmap = idmap; in nfs_idmap_new()
475 rpc_destroy_pipe_data(idmap->idmap_pipe); in nfs_idmap_new()
477 kfree(idmap); in nfs_idmap_new()
484 struct idmap *idmap = clp->cl_idmap; in nfs_idmap_delete() local
486 if (!idmap) in nfs_idmap_delete()
491 &idmap->idmap_pdo); in nfs_idmap_delete()
492 rpc_destroy_pipe_data(idmap->idmap_pipe); in nfs_idmap_delete()
493 kfree(idmap); in nfs_idmap_delete()
496 static int nfs_idmap_prepare_message(char *desc, struct idmap *idmap, in nfs_idmap_prepare_message() argument
538 nfs_idmap_prepare_pipe_upcall(struct idmap *idmap, in nfs_idmap_prepare_pipe_upcall() argument
541 if (idmap->idmap_upcall_data != NULL) { in nfs_idmap_prepare_pipe_upcall()
545 idmap->idmap_upcall_data = data; in nfs_idmap_prepare_pipe_upcall()
550 nfs_idmap_complete_pipe_upcall_locked(struct idmap *idmap, int ret) in nfs_idmap_complete_pipe_upcall_locked() argument
552 struct key_construction *cons = idmap->idmap_upcall_data->key_cons; in nfs_idmap_complete_pipe_upcall_locked()
554 kfree(idmap->idmap_upcall_data); in nfs_idmap_complete_pipe_upcall_locked()
555 idmap->idmap_upcall_data = NULL; in nfs_idmap_complete_pipe_upcall_locked()
560 nfs_idmap_abort_pipe_upcall(struct idmap *idmap, int ret) in nfs_idmap_abort_pipe_upcall() argument
562 if (idmap->idmap_upcall_data != NULL) in nfs_idmap_abort_pipe_upcall()
563 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in nfs_idmap_abort_pipe_upcall()
573 struct idmap *idmap = (struct idmap *)aux; in nfs_idmap_legacy_upcall() local
588 data->idmap = idmap; in nfs_idmap_legacy_upcall()
591 ret = nfs_idmap_prepare_message(key->description, idmap, im, msg); in nfs_idmap_legacy_upcall()
596 if (!nfs_idmap_prepare_pipe_upcall(idmap, data)) in nfs_idmap_legacy_upcall()
599 ret = rpc_queue_upcall(idmap->idmap_pipe, msg); in nfs_idmap_legacy_upcall()
601 nfs_idmap_abort_pipe_upcall(idmap, ret); in nfs_idmap_legacy_upcall()
655 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_pipe_downcall() local
665 if (idmap->idmap_upcall_data == NULL) in idmap_pipe_downcall()
668 cons = idmap->idmap_upcall_data->key_cons; in idmap_pipe_downcall()
692 &idmap->idmap_upcall_data->idmap_msg, in idmap_pipe_downcall()
700 nfs_idmap_complete_pipe_upcall_locked(idmap, ret); in idmap_pipe_downcall()
711 struct idmap *idmap = data->idmap; in idmap_pipe_destroy_msg() local
714 nfs_idmap_abort_pipe_upcall(idmap, msg->errno); in idmap_pipe_destroy_msg()
721 struct idmap *idmap = (struct idmap *)rpci->private; in idmap_release_pipe() local
723 nfs_idmap_abort_pipe_upcall(idmap, -EPIPE); in idmap_release_pipe()
728 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_name_to_uid() local
733 ret = nfs_idmap_lookup_id(name, namelen, "uid", &id, idmap); in nfs_map_name_to_uid()
745 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_group_to_gid() local
750 ret = nfs_idmap_lookup_id(name, namelen, "gid", &id, idmap); in nfs_map_group_to_gid()
762 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_uid_to_name() local
768 ret = nfs_idmap_lookup_name(id, "user", buf, buflen, idmap); in nfs_map_uid_to_name()
776 struct idmap *idmap = server->nfs_client->cl_idmap; in nfs_map_gid_to_group() local
782 ret = nfs_idmap_lookup_name(id, "group", buf, buflen, idmap); in nfs_map_gid_to_group()