diff options
Diffstat (limited to 'net/rds/af_rds.c')
| -rw-r--r-- | net/rds/af_rds.c | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index 98e05382fd3..853c52be781 100644 --- a/net/rds/af_rds.c +++ b/net/rds/af_rds.c @@ -174,8 +174,8 @@ static unsigned int rds_poll(struct file *file, struct socket *sock,  			mask |= (POLLIN | POLLRDNORM);  		spin_unlock(&rs->rs_lock);  	} -	if (!list_empty(&rs->rs_recv_queue) -	 || !list_empty(&rs->rs_notify_queue)) +	if (!list_empty(&rs->rs_recv_queue) || +	    !list_empty(&rs->rs_notify_queue))  		mask |= (POLLIN | POLLRDNORM);  	if (rs->rs_snd_bytes < rds_sk_sndbuf(rs))  		mask |= (POLLOUT | POLLWRNORM); @@ -265,6 +265,9 @@ static int rds_setsockopt(struct socket *sock, int level, int optname,  	case RDS_GET_MR:  		ret = rds_get_mr(rs, optval, optlen);  		break; +	case RDS_GET_MR_FOR_DEST: +		ret = rds_get_mr_for_dest(rs, optval, optlen); +		break;  	case RDS_FREE_MR:  		ret = rds_free_mr(rs, optval, optlen);  		break; @@ -305,8 +308,8 @@ static int rds_getsockopt(struct socket *sock, int level, int optname,  		if (len < sizeof(int))  			ret = -EINVAL;  		else -		if (put_user(rs->rs_recverr, (int __user *) optval) -		 || put_user(sizeof(int), optlen)) +		if (put_user(rs->rs_recverr, (int __user *) optval) || +		    put_user(sizeof(int), optlen))  			ret = -EFAULT;  		else  			ret = 0; @@ -407,7 +410,8 @@ static int __rds_create(struct socket *sock, struct sock *sk, int protocol)  	return 0;  } -static int rds_create(struct net *net, struct socket *sock, int protocol) +static int rds_create(struct net *net, struct socket *sock, int protocol, +		      int kern)  {  	struct sock *sk; @@ -431,7 +435,7 @@ void rds_sock_put(struct rds_sock *rs)  	sock_put(rds_rs_to_sk(rs));  } -static struct net_proto_family rds_family_ops = { +static const struct net_proto_family rds_family_ops = {  	.family =	AF_RDS,  	.create =	rds_create,  	.owner	=	THIS_MODULE,  |