Lines Matching full:pdo
873 * @pdo: pointer to struct rpc_pipe_dir_object
877 void rpc_init_pipe_dir_object(struct rpc_pipe_dir_object *pdo, in rpc_init_pipe_dir_object() argument
881 INIT_LIST_HEAD(&pdo->pdo_head); in rpc_init_pipe_dir_object()
882 pdo->pdo_ops = pdo_ops; in rpc_init_pipe_dir_object()
883 pdo->pdo_data = pdo_data; in rpc_init_pipe_dir_object()
890 struct rpc_pipe_dir_object *pdo) in rpc_add_pipe_dir_object_locked() argument
895 ret = pdo->pdo_ops->create(pdh->pdh_dentry, pdo); in rpc_add_pipe_dir_object_locked()
897 list_add_tail(&pdo->pdo_head, &pdh->pdh_entries); in rpc_add_pipe_dir_object_locked()
904 struct rpc_pipe_dir_object *pdo) in rpc_remove_pipe_dir_object_locked() argument
907 pdo->pdo_ops->destroy(pdh->pdh_dentry, pdo); in rpc_remove_pipe_dir_object_locked()
908 list_del_init(&pdo->pdo_head); in rpc_remove_pipe_dir_object_locked()
915 * @pdo: pointer to struct rpc_pipe_dir_object
921 struct rpc_pipe_dir_object *pdo) in rpc_add_pipe_dir_object() argument
925 if (list_empty(&pdo->pdo_head)) { in rpc_add_pipe_dir_object()
929 ret = rpc_add_pipe_dir_object_locked(net, pdh, pdo); in rpc_add_pipe_dir_object()
940 * @pdo: pointer to struct rpc_pipe_dir_object
946 struct rpc_pipe_dir_object *pdo) in rpc_remove_pipe_dir_object() argument
948 if (!list_empty(&pdo->pdo_head)) { in rpc_remove_pipe_dir_object()
952 rpc_remove_pipe_dir_object_locked(net, pdh, pdo); in rpc_remove_pipe_dir_object()
975 struct rpc_pipe_dir_object *pdo; in rpc_find_or_alloc_pipe_dir_object() local
978 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) { in rpc_find_or_alloc_pipe_dir_object()
979 if (!match(pdo, data)) in rpc_find_or_alloc_pipe_dir_object()
983 pdo = alloc(data); in rpc_find_or_alloc_pipe_dir_object()
984 if (!pdo) in rpc_find_or_alloc_pipe_dir_object()
986 rpc_add_pipe_dir_object_locked(net, pdh, pdo); in rpc_find_or_alloc_pipe_dir_object()
989 return pdo; in rpc_find_or_alloc_pipe_dir_object()
996 struct rpc_pipe_dir_object *pdo; in rpc_create_pipe_dir_objects() local
999 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) in rpc_create_pipe_dir_objects()
1000 pdo->pdo_ops->create(dir, pdo); in rpc_create_pipe_dir_objects()
1006 struct rpc_pipe_dir_object *pdo; in rpc_destroy_pipe_dir_objects() local
1009 list_for_each_entry(pdo, &pdh->pdh_entries, pdo_head) in rpc_destroy_pipe_dir_objects()
1010 pdo->pdo_ops->destroy(dir, pdo); in rpc_destroy_pipe_dir_objects()