Lines Matching full:da
621 struct nfs4_pnfs_ds_addr *da = kzalloc(sizeof(*da), gfp_flags); in nfs4_pnfs_ds_addr_alloc() local
622 if (da) in nfs4_pnfs_ds_addr_alloc()
623 INIT_LIST_HEAD(&da->da_node); in nfs4_pnfs_ds_addr_alloc()
624 return da; in nfs4_pnfs_ds_addr_alloc()
627 static void nfs4_pnfs_ds_addr_free(struct nfs4_pnfs_ds_addr *da) in nfs4_pnfs_ds_addr_free() argument
629 kfree(da->da_remotestr); in nfs4_pnfs_ds_addr_free()
630 kfree(da->da_netid); in nfs4_pnfs_ds_addr_free()
631 kfree(da); in nfs4_pnfs_ds_addr_free()
636 struct nfs4_pnfs_ds_addr *da; in destroy_ds() local
645 da = list_first_entry(&ds->ds_addrs, in destroy_ds()
648 list_del_init(&da->da_node); in destroy_ds()
649 nfs4_pnfs_ds_addr_free(da); in destroy_ds()
675 struct nfs4_pnfs_ds_addr *da; in nfs4_pnfs_remotestr() local
681 list_for_each_entry(da, dsaddrs, da_node) { in nfs4_pnfs_remotestr()
682 len += strlen(da->da_remotestr) + 1; /* string plus comma */ in nfs4_pnfs_remotestr()
692 list_for_each_entry(da, dsaddrs, da_node) { in nfs4_pnfs_remotestr()
693 size_t ll = strlen(da->da_remotestr); in nfs4_pnfs_remotestr()
698 memcpy(p, da->da_remotestr, ll); in nfs4_pnfs_remotestr()
812 struct nfs4_pnfs_ds_addr *da; in _nfs4_pnfs_v3_ds_connect() local
821 list_for_each_entry(da, &ds->ds_addrs, da_node) { in _nfs4_pnfs_v3_ds_connect()
823 __func__, ds->ds_remotestr, da->da_remotestr); in _nfs4_pnfs_v3_ds_connect()
827 .ident = da->da_transport, in _nfs4_pnfs_v3_ds_connect()
829 .dstaddr = (struct sockaddr *)&da->da_addr, in _nfs4_pnfs_v3_ds_connect()
830 .addrlen = da->da_addrlen, in _nfs4_pnfs_v3_ds_connect()
837 if (da->da_transport != clp->cl_proto && in _nfs4_pnfs_v3_ds_connect()
840 if (da->da_transport == XPRT_TRANSPORT_TCP && in _nfs4_pnfs_v3_ds_connect()
844 if (da->da_addr.ss_family != clp->cl_addr.ss_family) in _nfs4_pnfs_v3_ds_connect()
851 if (da->da_transport == XPRT_TRANSPORT_TCP && in _nfs4_pnfs_v3_ds_connect()
853 da->da_transport = XPRT_TRANSPORT_TCP_TLS; in _nfs4_pnfs_v3_ds_connect()
855 &da->da_addr, in _nfs4_pnfs_v3_ds_connect()
856 da->da_addrlen, da->da_transport, in _nfs4_pnfs_v3_ds_connect()
883 struct nfs4_pnfs_ds_addr *da; in _nfs4_pnfs_v4_ds_connect() local
888 list_for_each_entry(da, &ds->ds_addrs, da_node) { in _nfs4_pnfs_v4_ds_connect()
892 __func__, ds->ds_remotestr, da->da_remotestr); in _nfs4_pnfs_v4_ds_connect()
896 .ident = da->da_transport, in _nfs4_pnfs_v4_ds_connect()
898 .dstaddr = (struct sockaddr *)&da->da_addr, in _nfs4_pnfs_v4_ds_connect()
899 .addrlen = da->da_addrlen, in _nfs4_pnfs_v4_ds_connect()
911 if (da->da_transport != clp->cl_proto && in _nfs4_pnfs_v4_ds_connect()
914 if (da->da_transport == XPRT_TRANSPORT_TCP && in _nfs4_pnfs_v4_ds_connect()
918 (struct sockaddr *)&da->da_addr; in _nfs4_pnfs_v4_ds_connect()
920 (struct sockaddr_in *)&da->da_addr; in _nfs4_pnfs_v4_ds_connect()
922 (struct sockaddr_in6 *)&da->da_addr; in _nfs4_pnfs_v4_ds_connect()
947 if (da->da_addr.ss_family != clp->cl_addr.ss_family) in _nfs4_pnfs_v4_ds_connect()
961 if (da->da_transport == XPRT_TRANSPORT_TCP && in _nfs4_pnfs_v4_ds_connect()
964 da->da_transport = XPRT_TRANSPORT_TCP_TLS; in _nfs4_pnfs_v4_ds_connect()
966 &da->da_addr, in _nfs4_pnfs_v4_ds_connect()
967 da->da_addrlen, in _nfs4_pnfs_v4_ds_connect()
968 da->da_transport, timeo, in _nfs4_pnfs_v4_ds_connect()
1060 struct nfs4_pnfs_ds_addr *da = NULL; in nfs4_decode_mp_ds_addr() local
1102 da = nfs4_pnfs_ds_addr_alloc(gfp_flags); in nfs4_decode_mp_ds_addr()
1103 if (unlikely(!da)) in nfs4_decode_mp_ds_addr()
1106 if (!rpc_pton(net, buf, portstr-buf, (struct sockaddr *)&da->da_addr, in nfs4_decode_mp_ds_addr()
1107 sizeof(da->da_addr))) { in nfs4_decode_mp_ds_addr()
1116 switch (da->da_addr.ss_family) { in nfs4_decode_mp_ds_addr()
1118 ((struct sockaddr_in *)&da->da_addr)->sin_port = port; in nfs4_decode_mp_ds_addr()
1119 da->da_addrlen = sizeof(struct sockaddr_in); in nfs4_decode_mp_ds_addr()
1123 ((struct sockaddr_in6 *)&da->da_addr)->sin6_port = port; in nfs4_decode_mp_ds_addr()
1124 da->da_addrlen = sizeof(struct sockaddr_in6); in nfs4_decode_mp_ds_addr()
1131 __func__, da->da_addr.ss_family); in nfs4_decode_mp_ds_addr()
1135 da->da_transport = xprt_find_transport_ident(netid); in nfs4_decode_mp_ds_addr()
1136 if (da->da_transport < 0) { in nfs4_decode_mp_ds_addr()
1142 da->da_netid = netid; in nfs4_decode_mp_ds_addr()
1146 da->da_remotestr = kzalloc(len, gfp_flags); in nfs4_decode_mp_ds_addr()
1149 if (da->da_remotestr) in nfs4_decode_mp_ds_addr()
1150 snprintf(da->da_remotestr, len, "%s%s%s:%u", startsep, in nfs4_decode_mp_ds_addr()
1153 dprintk("%s: Parsed DS addr %s\n", __func__, da->da_remotestr); in nfs4_decode_mp_ds_addr()
1155 return da; in nfs4_decode_mp_ds_addr()
1158 kfree(da); in nfs4_decode_mp_ds_addr()