 1a867a0898
			
		
	
	
	1a867a0898
	
	
	
		
			
			Add tracepoints inside the main loop on xs_tcp_data_recv that allow us to keep an eye on what's happening during each phase of it. Signed-off-by: Jeff Layton <jlayton@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  linux/include/linux/sunrpc/xprtsock.h
 | |
|  *
 | |
|  *  Declarations for the RPC transport socket provider.
 | |
|  */
 | |
| 
 | |
| #ifndef _LINUX_SUNRPC_XPRTSOCK_H
 | |
| #define _LINUX_SUNRPC_XPRTSOCK_H
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| 
 | |
| int		init_socket_xprt(void);
 | |
| void		cleanup_socket_xprt(void);
 | |
| 
 | |
| #define RPC_MIN_RESVPORT	(1U)
 | |
| #define RPC_MAX_RESVPORT	(65535U)
 | |
| #define RPC_DEF_MIN_RESVPORT	(665U)
 | |
| #define RPC_DEF_MAX_RESVPORT	(1023U)
 | |
| 
 | |
| struct sock_xprt {
 | |
| 	struct rpc_xprt		xprt;
 | |
| 
 | |
| 	/*
 | |
| 	 * Network layer
 | |
| 	 */
 | |
| 	struct socket *		sock;
 | |
| 	struct sock *		inet;
 | |
| 
 | |
| 	/*
 | |
| 	 * State of TCP reply receive
 | |
| 	 */
 | |
| 	__be32			tcp_fraghdr,
 | |
| 				tcp_xid,
 | |
| 				tcp_calldir;
 | |
| 
 | |
| 	u32			tcp_offset,
 | |
| 				tcp_reclen;
 | |
| 
 | |
| 	unsigned long		tcp_copied,
 | |
| 				tcp_flags;
 | |
| 
 | |
| 	/*
 | |
| 	 * Connection of transports
 | |
| 	 */
 | |
| 	struct delayed_work	connect_worker;
 | |
| 	struct sockaddr_storage	srcaddr;
 | |
| 	unsigned short		srcport;
 | |
| 
 | |
| 	/*
 | |
| 	 * UDP socket buffer size parameters
 | |
| 	 */
 | |
| 	size_t			rcvsize,
 | |
| 				sndsize;
 | |
| 
 | |
| 	/*
 | |
| 	 * Saved socket callback addresses
 | |
| 	 */
 | |
| 	void			(*old_data_ready)(struct sock *);
 | |
| 	void			(*old_state_change)(struct sock *);
 | |
| 	void			(*old_write_space)(struct sock *);
 | |
| 	void			(*old_error_report)(struct sock *);
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * TCP receive state flags
 | |
|  */
 | |
| #define TCP_RCV_LAST_FRAG	(1UL << 0)
 | |
| #define TCP_RCV_COPY_FRAGHDR	(1UL << 1)
 | |
| #define TCP_RCV_COPY_XID	(1UL << 2)
 | |
| #define TCP_RCV_COPY_DATA	(1UL << 3)
 | |
| #define TCP_RCV_READ_CALLDIR	(1UL << 4)
 | |
| #define TCP_RCV_COPY_CALLDIR	(1UL << 5)
 | |
| 
 | |
| /*
 | |
|  * TCP RPC flags
 | |
|  */
 | |
| #define TCP_RPC_REPLY		(1UL << 6)
 | |
| 
 | |
| #endif /* __KERNEL__ */
 | |
| 
 | |
| #endif /* _LINUX_SUNRPC_XPRTSOCK_H */
 |