xprtsock.c (bd1722d4316e42a12fe6337ebe34d7e1e2c088b2) | xprtsock.c (e204e621b4160c802315bc2d0fa335337c0d62e8) |
---|---|
1/* 2 * linux/net/sunrpc/xprtsock.c 3 * 4 * Client-side transport implementation for sockets. 5 * 6 * TCP callback races fixes (C) 1998 Red Hat 7 * TCP send fixes (C) 1998 Red Hat 8 * TCP NFS related read + write fixes --- 760 unchanged lines hidden (view full) --- 769 struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt); 770 771 dprintk("RPC: xs_destroy xprt %p\n", xprt); 772 773 cancel_rearming_delayed_work(&transport->connect_worker); 774 775 xs_close(xprt); 776 xs_free_peer_addresses(xprt); | 1/* 2 * linux/net/sunrpc/xprtsock.c 3 * 4 * Client-side transport implementation for sockets. 5 * 6 * TCP callback races fixes (C) 1998 Red Hat 7 * TCP send fixes (C) 1998 Red Hat 8 * TCP NFS related read + write fixes --- 760 unchanged lines hidden (view full) --- 769 struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt); 770 771 dprintk("RPC: xs_destroy xprt %p\n", xprt); 772 773 cancel_rearming_delayed_work(&transport->connect_worker); 774 775 xs_close(xprt); 776 xs_free_peer_addresses(xprt); |
777 kfree(xprt->slot); 778 kfree(xprt); | 777 xprt_free(xprt); |
779 module_put(THIS_MODULE); 780} 781 782static inline struct rpc_xprt *xprt_from_sock(struct sock *sk) 783{ 784 return (struct rpc_xprt *) sk->sk_user_data; 785} 786 --- 1570 unchanged lines hidden (view full) --- 2357 dprintk("RPC: set up xprt to %s (autobind) via %s\n", 2358 xprt->address_strings[RPC_DISPLAY_ADDR], 2359 xprt->address_strings[RPC_DISPLAY_PROTO]); 2360 2361 if (try_module_get(THIS_MODULE)) 2362 return xprt; 2363 ret = ERR_PTR(-EINVAL); 2364out_err: | 778 module_put(THIS_MODULE); 779} 780 781static inline struct rpc_xprt *xprt_from_sock(struct sock *sk) 782{ 783 return (struct rpc_xprt *) sk->sk_user_data; 784} 785 --- 1570 unchanged lines hidden (view full) --- 2356 dprintk("RPC: set up xprt to %s (autobind) via %s\n", 2357 xprt->address_strings[RPC_DISPLAY_ADDR], 2358 xprt->address_strings[RPC_DISPLAY_PROTO]); 2359 2360 if (try_module_get(THIS_MODULE)) 2361 return xprt; 2362 ret = ERR_PTR(-EINVAL); 2363out_err: |
2365 kfree(xprt->slot); 2366 kfree(xprt); | 2364 xprt_free(xprt); |
2367 return ret; 2368} 2369 2370static const struct rpc_timeout xs_tcp_default_timeout = { 2371 .to_initval = 60 * HZ, 2372 .to_maxval = 60 * HZ, 2373 .to_retries = 2, 2374}; --- 58 unchanged lines hidden (view full) --- 2433 xprt->address_strings[RPC_DISPLAY_ADDR], 2434 xprt->address_strings[RPC_DISPLAY_PROTO]); 2435 2436 2437 if (try_module_get(THIS_MODULE)) 2438 return xprt; 2439 ret = ERR_PTR(-EINVAL); 2440out_err: | 2365 return ret; 2366} 2367 2368static const struct rpc_timeout xs_tcp_default_timeout = { 2369 .to_initval = 60 * HZ, 2370 .to_maxval = 60 * HZ, 2371 .to_retries = 2, 2372}; --- 58 unchanged lines hidden (view full) --- 2431 xprt->address_strings[RPC_DISPLAY_ADDR], 2432 xprt->address_strings[RPC_DISPLAY_PROTO]); 2433 2434 2435 if (try_module_get(THIS_MODULE)) 2436 return xprt; 2437 ret = ERR_PTR(-EINVAL); 2438out_err: |
2441 kfree(xprt->slot); 2442 kfree(xprt); | 2439 xprt_free(xprt); |
2443 return ret; 2444} 2445 2446/** 2447 * xs_setup_bc_tcp - Set up transport to use a TCP backchannel socket 2448 * @args: rpc transport creation arguments 2449 * 2450 */ --- 63 unchanged lines hidden (view full) --- 2514 */ 2515 xprt_set_connected(xprt); 2516 2517 2518 if (try_module_get(THIS_MODULE)) 2519 return xprt; 2520 ret = ERR_PTR(-EINVAL); 2521out_err: | 2440 return ret; 2441} 2442 2443/** 2444 * xs_setup_bc_tcp - Set up transport to use a TCP backchannel socket 2445 * @args: rpc transport creation arguments 2446 * 2447 */ --- 63 unchanged lines hidden (view full) --- 2511 */ 2512 xprt_set_connected(xprt); 2513 2514 2515 if (try_module_get(THIS_MODULE)) 2516 return xprt; 2517 ret = ERR_PTR(-EINVAL); 2518out_err: |
2522 kfree(xprt->slot); 2523 kfree(xprt); | 2519 xprt_free(xprt); |
2524 return ret; 2525} 2526 2527static struct xprt_class xs_udp_transport = { 2528 .list = LIST_HEAD_INIT(xs_udp_transport.list), 2529 .name = "udp", 2530 .owner = THIS_MODULE, 2531 .ident = XPRT_TRANSPORT_UDP, --- 110 unchanged lines hidden --- | 2520 return ret; 2521} 2522 2523static struct xprt_class xs_udp_transport = { 2524 .list = LIST_HEAD_INIT(xs_udp_transport.list), 2525 .name = "udp", 2526 .owner = THIS_MODULE, 2527 .ident = XPRT_TRANSPORT_UDP, --- 110 unchanged lines hidden --- |