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 ---