result = xs_sendpages(sock, addr, addrlen, xdr, skip, MSG_DONTWAIT); 
result = xs_sendpages(sock, addr, addrlen, xdr, skip); 
static int xs_sendmsg(struct rpc_xprt *xprt, struct rpc_rqst *req){	struct socket *sock = xprt->sock;	struct xdr_buf *xdr = &req->rq_snd_buf;	struct sockaddr *addr = NULL;	int addrlen = 0;	unsigned int skip;	int result;	if (!sock)		return -ENOTCONN;	xs_pktdump("packet data:",				req->rq_svec->iov_base,				req->rq_svec->iov_len);	/* For UDP, we need to provide an address */	if (!xprt->stream) {		addr = (struct sockaddr *) &xprt->addr;		addrlen = sizeof(xprt->addr);	}	/* Don't repeat bytes */	skip = req->rq_bytes_sent;	clear_bit(SOCK_ASYNC_NOSPACE, &sock->flags);	result = xs_sendpages(sock, addr, addrlen, xdr, skip, MSG_DONTWAIT);	dprintk("RPC:      xs_sendmsg(%d) = %d\n", xdr->len - skip, result);	if (result >= 0)		return result;	switch (result) {	case -ECONNREFUSED:		/* When the server has died, an ICMP port unreachable message		 * prompts ECONNREFUSED. */	case -EAGAIN:		break;	case -ECONNRESET:	case -ENOTCONN:	case -EPIPE:		/* connection broken */		if (xprt->stream)			result = -ENOTCONN;		break;	default:		break;	}	return result;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b4b5cc85ed4ecbe4adbfbc4df028850de67a9f09/xprtsock.c/buggy/net/sunrpc/xprtsock.c