[rds-commits] jlbec commits r105 - in trunk: . linux/net/rds

svn-commits@oss.oracle.com svn-commits at oss.oracle.com
Thu Jun 8 13:14:40 CDT 2006


Author: jlbec
Date: 2006-06-08 13:14:38 -0500 (Thu, 08 Jun 2006)
New Revision: 105

Modified:
   trunk/TODO
   trunk/linux/net/rds/
   trunk/linux/net/rds/recv.c
   trunk/linux/net/rds/send.c
Log:

send/recv: No longer accept+ignore unsupported MSG_ flags.

Signed-off-by: Joel Becker <joel.becker at oracle.com>



Modified: trunk/TODO
===================================================================
--- trunk/TODO	2006-06-08 16:29:40 UTC (rev 104)
+++ trunk/TODO	2006-06-08 18:14:38 UTC (rev 105)
@@ -30,6 +30,8 @@
 
 enforce msg_flags in sendmsg and recvmsg
 
+support MSG_MORE perhaps?
+
 Add a stats reporting interface
 	- export fixed width stats from getsockopt
 	- generic and per-transport


Property changes on: trunk/linux/net/rds
___________________________________________________________________
Name: svn:ignore
   - *.o.cmd
*.ko.cmd
*.ko
*.mod.c
.tmp_versions
.*.o.d
Modules.symvers

   + *.o.cmd
*.ko.cmd
*.ko
*.mod.c
.tmp_versions
.*.o.d
.*.sw?
Modules.symvers


Modified: trunk/linux/net/rds/recv.c
===================================================================
--- trunk/linux/net/rds/recv.c	2006-06-08 16:29:40 UTC (rev 104)
+++ trunk/linux/net/rds/recv.c	2006-06-08 18:14:38 UTC (rev 105)
@@ -211,6 +211,9 @@
 	/* udp_recvmsg()->sock_recvtimeo() gets away without locking too.. */
 	timeo = sock_rcvtimeo(sk, nonblock);
 
+	if (msg_flags & MSG_OOB)
+		goto out;
+
 	for(;;) {
 		if (!rds_next_incoming(rs, &inc)) {
 			if (nonblock) {
@@ -266,6 +269,8 @@
 
 	if (inc)
 		rds_inc_put(inc);
+
+out:
 	return ret;
 }
 

Modified: trunk/linux/net/rds/send.c
===================================================================
--- trunk/linux/net/rds/send.c	2006-06-08 16:29:40 UTC (rev 104)
+++ trunk/linux/net/rds/send.c	2006-06-08 18:14:38 UTC (rev 105)
@@ -295,6 +295,13 @@
 	rds_debug(rs, "sendmsg sock %p sk %p len %zu\n", sock, sk,
 		  payload_len);
 
+	/* Mirror Linux UDP mirror of BSD error message compatibility */
+	/* XXX: Perhaps MSG_MORE someday */
+	if (msg->msg_flags & ~(MSG_DONTWAIT)) {
+		ret = -EOPNOTSUPP;
+		goto out;
+	}
+
 	if (msg->msg_namelen) {
 		/* XXX fail non-unicast destination IPs? */
 		if (msg->msg_namelen < sizeof(*usin) || usin->sin_family != AF_INET ||




More information about the rds-commits mailing list