Lines Matching full:pdo
872 * @pdo: pointer to struct rpc_pipe_dir_object
876 void rpc_init_pipe_dir_object(struct rpc_pipe_dir_object *pdo, in rpc_init_pipe_dir_object() argument
880 INIT_LIST_HEAD(&pdo->pdo_head); in rpc_init_pipe_dir_object()
881 pdo->pdo_ops = pdo_ops; in rpc_init_pipe_dir_object()
882 pdo->pdo_data = pdo_data; in rpc_init_pipe_dir_object()
889 struct rpc_pipe_dir_object *pdo) in rpc_add_pipe_dir_object_locked() argument
894 ret = pdo->pdo_ops->create(pdh->pdh_dentry, pdo); in rpc_add_pipe_dir_object_locked()
896 list_add_tail(&pdo->pdo_head, &pdh->pdh_entries); in rpc_add_pipe_dir_object_locked()
903 struct rpc_pipe_dir_object *pdo) in rpc_remove_pipe_dir_object_locked() argument
906 pdo->pdo_ops->destroy(pdh->pdh_dentry, pdo); in rpc_remove_pipe_dir_object_locked()
907 list_del_init(&pdo->pdo_head); in rpc_remove_pipe_dir_object_locked()
914 * @pdo: pointer to struct rpc_pipe_dir_object
920 struct rpc_pipe_dir_object *pdo) in rpc_add_pipe_dir_object() argument
924 if (list_empty(&pdo->pdo_head)) { in rpc_add_pipe_dir_object()
928 ret = rpc_add_pipe_dir_object_locked(net, pdh, pdo); in rpc_add_pipe_dir_object()
939 * @pdo: pointer to struct rpc_pipe_dir_object
945 struct rpc_pipe_dir_object *pdo) in rpc_remove_pipe_dir_object() argument
947 if (!list_empty(&pdo->pdo_head)) { in rpc_remove_pipe_dir_object()
951 rpc_remove_pipe_dir_object_locked(net, pdh, pdo); in rpc_remove_pipe_dir_object()
974 struct rpc_pipe_dir_object *pdo; in rpc_find_or_alloc_pipe_dir_object() local
977 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) { in rpc_find_or_alloc_pipe_dir_object()
978 if (!match(pdo, data)) in rpc_find_or_alloc_pipe_dir_object()
982 pdo = alloc(data); in rpc_find_or_alloc_pipe_dir_object()
983 if (!pdo) in rpc_find_or_alloc_pipe_dir_object()
985 rpc_add_pipe_dir_object_locked(net, pdh, pdo); in rpc_find_or_alloc_pipe_dir_object()
988 return pdo; in rpc_find_or_alloc_pipe_dir_object()
995 struct rpc_pipe_dir_object *pdo; in rpc_create_pipe_dir_objects() local
998 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) in rpc_create_pipe_dir_objects()
999 pdo->pdo_ops->create(dir, pdo); in rpc_create_pipe_dir_objects()
1005 struct rpc_pipe_dir_object *pdo; in rpc_destroy_pipe_dir_objects() local
1008 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) in rpc_destroy_pipe_dir_objects()
1009 pdo->pdo_ops->destroy(dir, pdo); in rpc_destroy_pipe_dir_objects()